您的位置:首页 > Web前端 > Vue.js

vue webpack多页面构建的实例代码第1/3页

2018-10-12 14:13 1286 查看

项目示例地址: 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下一页阅读全文

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: