隨著前端項目越來越復雜,我們需要將代碼打包并發布到服務器上。而在使用Vue進行開發時,我們經常會遇到打包路徑的問題。
// vue-cli項目中默認的打包路徑是dist目錄 "build": "vue-cli-service build" // 打包完成后,我們可以在dist目錄下看到生成的文件 /dist /js app.js index.html
但是,在某些情況下,使用者可能需要將打包后的文件放到指定的位置。比如在使用Spring Boot時,需要將打包后的文件放到Spring Boot的static目錄下。此時,我們需要配置Webpack的output屬性。
// vue.config.js module.exports = { outputDir: 'static' } // 修改后的打包路徑為static目錄 /dist /js app.js index.html
除了output屬性,我們還可以在Webpack中使用一些插件來優化打包路徑。比如使用CopyWebpackPlugin復制靜態文件到指定目錄,使用HtmlWebpackPlugin將打包后的JS文件自動注入到HTML文件中等等。
// vue.config.js const CopyWebpackPlugin = require('copy-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { outputDir: 'static', configureWebpack: { plugins: [ new CopyWebpackPlugin({ patterns: [ { from: 'static-files', to: 'static' } ] }), new HtmlWebpackPlugin({ template: 'index.html' }) ] } } // 打包后的目錄結構如下 /static /static-files /js app.js index.html
除了手動更改Webpack的配置文件,我們還可以在.vue文件中使用static關鍵字來引用靜態文件。
// MyComponent.vue// 此時,打包后生成的目錄結構如下 /dist /js app.js /imgs logo.76b41f6a.png index.html
總之,在進行Vue打包時,打包路徑是一個非常重要的細節問題,需要我們對Webpack的配置文件和Vue文件的引用方式有充分的了解、掌握并合理運用。
下一篇vue框架的style