項(xiàng)目示例地址: https://github.com/ccyinghua/webpack-multipage
項(xiàng)目運(yùn)行:
下載項(xiàng)目之后
# 下載依賴npm install# 運(yùn)行npm run devhttp://localhost:3000/login.htmlhttp://localhost:3000/index.html
node v6.11.0
npm install vue-cli@2.8.2 -g
vue init webpack webpack-multipage // 創(chuàng)建項(xiàng)目cd webpack-multipage // 進(jìn)入webpack-multipage目錄npm install // 下載依賴npm run dev // 運(yùn)行
http://localhost:8080
將項(xiàng)目根目錄index.html,src下的文件刪除,重新調(diào)整的src結(jié)構(gòu)目錄:
|-- src |-- assets |-- components |-- entry |-- index // index模塊 |-- components |-- Hello.vue |-- router |-- index.js |-- index.html |-- index.js |-- index.vue |-- login // login模塊 |-- login.html |-- login.js |-- login.vue
(1) 修改build/util.js,在文件最后添加
# 先下載glob組件npm install glob -D
將目錄映射成配置。如./src/entry/login/login.js變成映射{login: './src/entry/login/login.js'}
var glob = require('glob');exports.getEntries = function (globPath) { var entries = {} glob.sync(globPath).forEach(function (entry) { var basename = path.basename(entry, path.extname(entry), 'router.js'); entries[basename] = entry }); return entries;}(2) 修改build/webpack.base.conf.js,找到entry屬性,使用了uitls.js文件中新添加的方法getEntries,將entry中的js都映射成程序的入口
module.exports = { entry: utils.getEntries('./src/entry/*/*.js'), ...}(3) 修改build/webpack.dev.conf.js
刪除文件內(nèi)原有的HtmlWebpackPlugin相關(guān)內(nèi)容
...// https://github.com/ampedandwired/html-webpack-pluginnew HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true}),...在文件最后添加
var pages = utils.getEntries('./src/entry/*/*.html')for(var page in pages) { // 配置生成的html文件,定義路徑等 var conf = { filename: page + '.html', template: pages            123下一頁(yè)閱讀全文                        
新聞熱點(diǎn)
疑難解答
圖片精選