博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue-cli 搭建多页面应用基础结构
阅读量:6911 次
发布时间:2019-06-27

本文共 2527 字,大约阅读时间需要 8 分钟。

1.全局安装vue-cli

npm install -g vue-cli
2.基于webpack项目模板创建项目
vue init webpack demo
3.在模板项目的基础上,调整项目目录结构
在src目录下新建modules,pages文件夹用来存放模块和页面。实际项目的每个页面都再单独建一个文件夹并存放在pages文件夹中。注意pages下每个文件夹下的各页面入口js文件必须和模板文件(html文件)的名称保持一致。
src目录结构:
components存放公用组件
router存放页面的路由配置
assets存放页面的静态资源
modules存放公用模块
pages存放页面
4.在build/utils.js中按以下内容修改变量声明,并添加两个方法:webpack多入口文件和多页面输出

var path = require('path')var config = require('../config')var ExtractTextPlugin = require('extract-text-webpack-plugin')var glob = require('glob')var HtmlWebpackPlugin = require('html-webpack-plugin')var PAGE_PATH = path.resolve(__dirname, '../src/pages')var merge = require('webpack-merge')var packageConfig = require('../package.json')//多入口配置exports.entries = function() {  var entryFiles = glob.sync(PAGE_PATH + '/*/*.js')  var map = {}  entryFiles.forEach((filePath) => {    var filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.'))    map[filename] = filePath  })  return map}//多页面输出配置exports.htmlPlugin = function() {  let entryHtml = glob.sync(PAGE_PATH + '/*/*.html')  let arr = []  entryHtml.forEach((filePath) => {    let filename = filePath.substring(filePath.lastIndexOf('\/') + 1, filePath.lastIndexOf('.'))    let conf = {      template: filePath,      filename: filename + '.html',      chunks: ['manifest', 'vendor', filename],      inject: true    }    if (process.env.NODE_ENV === 'production') {      conf = merge(conf, {        chunks: ['manifest', 'vendor', filename],        minify: {          removeComments: true,          collapseWhitespace: true,          removeAttributeQuotes: true        },        chunksSortMode: 'dependency'      })    }    arr.push(new HtmlWebpackPlugin(conf))  })  return arr}

5.修改build/webpack.base.conf.js的入口配置

module.exports = {  entry: utils.entries(),...

6.修改build/webpack.dev.conf.js和build/webpack.prod.conf.js的多页面配置:把原有的页面模板配置注释或删除,并把多页面配置添加到plugins

webpack.dev.conf.js:

plugins: [    ......    //  new HtmlWebpackPlugin({    //    filename: 'index.html',    //    template: 'index.html',    //    inject: true    //  }),    ......  ].concat(utils.htmlPlugin())

webpack.prod.conf.js:

plugins: [    ......    // new HtmlWebpackPlugin({    //   filename: config.build.index,    //   template: 'index.html',    //   inject: true,    //   minify: {    //     removeComments: true,    //     collapseWhitespace: true,    //     removeAttributeQuotes: true    //   },    //   chunksSortMode: 'dependency'    // }),    ......  ].concat(utils.htmlPlugin())多页面应用创建完毕,在pages目录下创建应用对应的页面文件。

转载地址:http://khfcl.baihongyu.com/

你可能感兴趣的文章
gitlab安装包下载的两种方法
查看>>
深入理解Loadrunner中的Browser Emulation
查看>>
mysql 中文按照拼音排序
查看>>
Python的函数参数
查看>>
android开发之安全防护
查看>>
使用AnimationListener设置应用开启时的欢迎界面
查看>>
shell脚本编程学习之路-字符串测试表达式
查看>>
memcache,php装载memcache模块
查看>>
H3C的简单使用方法
查看>>
C++除零异常
查看>>
css的兼容问题汇总
查看>>
android apk 防止反编译技术第五篇-完整性校验(转)
查看>>
ios优秀开发者笔记汇总
查看>>
CSS 异步加载技术 不影响页面渲染
查看>>
我的友情链接
查看>>
angular学习资源
查看>>
我的友情链接
查看>>
js 正则表达式中/i,/g,/ig,/gi,/m(模式修正符)的区别和含义
查看>>
Python [3] optparse、sys、hashlib模块
查看>>
等待事件之Log File Sync
查看>>