vue官方脚手架(vue-cli)配置多页面应用(多页面网站)

因为之前有人问我配置vue多页面网站的问题,我在网上找了找教程,试了大概三四个,大概都是如出一辙,所以我就痛下决心,既然研究vue了,这个必须得搞明白的,也算排下小坑,我不知道你们在网上找的教程怎么样,可否能行,不过由于我弄得不行,所以就自己整了下,感觉弄完完美运行…….虽然很费事,但是研究研究代码,感觉恍然大悟,所以分享下

也不墨迹那么多了,也不详解了,直接上代码,修改步骤方法,有问题可以回复我哈~
(注:说一下我用的是vue官方脚手架<没注版本,应该就是最新的了 >,在此基础之上修改的)

(写的有点糙,各位谅解,先这样看下,我会在修改的)

Build文件夹下内容的修改
Utils,js文件区别
加上

var glob = require('glob')

加上

// 获取多级的入口文件
exports.getMultiEntry = function (globPath) {
   
  var entries = {},
    basename, tmp, pathname;
  glob.sync(globPath).forEach(function (entry) {
   
    basename = path.basename(entry, path.extname(entry));
    tmp = entry.split('/').splice(-4);
    var pathsrc = tmp[0] + '/' + tmp[1];
    if (tmp[0] == 'src') {
      pathsrc = tmp[1];
    }
    //console.log(pathsrc)
    pathname = pathsrc + '/' + basename; // 正确输出js和html的路径
    entries[pathname] = entry;
    //console.log(pathname+'-----------'+entry);
  });
  return entries;
}

Webpack.base,conf.js
加上
// 多页面设置入口文件
var entries = utils.getMultiEntry('./src/' + config.moduleName + '/**/**/*.js'); // 获得入口js文件
var chunks = Object.keys(entries);
console.log(entries, 'entries-base')
找到下面这段话注释掉
// context: path.resolve(__dirname, '../'),
// entry: {
// app: './src/main.js'
// },

注释掉的下面加上
entry: entries,

在webpack.dev.conf.js上面加上这两句话

var entries = utils.getMultiEntry('./src/' + config.moduleName + '/**/**/*.js'); // 获得入口js文件
var chunks = Object.keys(entries);

找到下面这段注释掉

// new HtmlWebpackPlugin({
   
    //   filename: 'index.html',
    //   template: 'index.html',
    //   inject: true
    // }),
    // copy custom static assets
    // new CopyWebpackPlugin([
    //   {
   
    //     from: path.resolve(__dirname, '../static'),
    //     to: config.dev.assetsSubDirectory,
    //     ignore: ['.*']
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值