本文介紹了vue-cli多頁面工程實踐,分享給大家,具體如下:
src目錄結構
因為是自定義的設置,src下的目錄結構需要固定,約定大于配置嘛。
src目錄結構:
src/ components/ modules/ # 多頁面 index/ # index 單頁面 index.html main.js # 入口文件 page1/ index.html main.js group/ page2/ index.html main.js
build中的配置
utils.js 增加:
// match fileslet glob = require('glob');/** * globPath 獲取泛路徑下的特定文件 */exports.getEntities = function (path) { let entities = {}; glob.sync(path).forEach(function (entity) { let moduleName = entity.split('/').slice(-2,-1); entities[moduleName] = entity }); // eg: { main: './src/module/index/main.js', test: './src/module/group/test/main.js' } return entities;};
webpack.base.conf.js 修改輸入和輸出:
module.exports = { // 遍歷獲取入口文件 entry: utils.getEntities("./src/modules/**/main.js"), ... plugins:[]};/*** * 生成 <module>/index.html */let utils = require('./utils')let pages = utils.getEntities("./src/modules/**/index.html");for (let page in pages) { let filename = "index.html"; if(page!=='index'){ filename = page+"/index.html"; } module.exports.plugins.push(new HtmlWebpackPlugin({ filename: filename, template: pages
新聞熱點
疑難解答