项目示例地址: https://github.com/ccyinghua/webpack-multipage
项目运行:
下载项目之后
# 下载依赖 npm install # 运行 npm run dev http://localhost:3000/login.html http://localhost:3000/index.html
一、开发环境
node v6.11.0
二、安装vue-cli脚手架
npm install vue-cli@2.8.2 -g
三、初始化项目
vue init webpack webpack-multipage // 创建项目 cd webpack-multipage // 进入webpack-multipage目录 npm install // 下载依赖 npm run dev // 运行
http://localhost:8080
四、修改配置支持多页面
将项目根目录index.html,src下的文件删除,重新调整的src结构目录:
|-- 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
删除文件内原有的HtmlWebpackPlugin相关内容
... // https://github.com/ampedandwired/html-webpack-plugin new 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下一页阅读全文
最新资源
- 《李荣浩 新时代创作新人王》[WAV分轨][310MB]
- 《黑鸭子与马头琴 史上最动听草原音乐》[WAV+CU
- 《汽车发烧音乐精选CD18》[FLAC+CUE][7.1G]
- 郑希怡.2004-Perfect.Date【英皇娱乐】【FLAC分
- 群星.1994-宝丽金超级孖宝2CD【宝丽金】【WAV+C
- 林忆莲.2019-0(2023精装版)【环球】【WAV+CUE】
- Supper.Moment.2016-The.Moment【寰亚】【FLAC分
- 范莉丝.1979-送郎一朵牵牛花(LP版)【大联机构】
- 刘宇.2024-宇宙诗人【哔哟哔哟文化】【FLAC分轨
- 《全景声白噪音》沉浸式大自然助眠 带你听自然的