vue.js多页面开发 webpack.config.js 配置方式

配置文件代码

var path = require('path')
var webpack = require('webpack')
var glob = require('glob');

得到入口文件

// 源文件目录
var sSystem = 'src/';
// src目录如下
bVbbVeU?w=312&h=318

每个文件夹下的.js文件都会打包
components文件夹为组件
// 生成多个入口文件
function getEntry() {

var entry = {};
var nLength = sSystem.length - 1;
var srcDirName = './' + sSystem + '/**/*.js';

glob.sync(srcDirName).forEach(function (name) {
    //name:./src/ovdream/basic/member/index/index.js
    var n = name.slice(name.lastIndexOf(sSystem) + nLength, name.length - 3);
    //n:/member/index/index
    entry[n] = name;

});
return entry;

}

exports

module.exports = {

entry: getEntry(),
output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: '[name].js'
},
module: {
    rules: [
      {
          test: /\.css$/,
          use: [
            'vue-style-loader',
            'css-loader'
          ],
      },
      {
          test: /\.vue$/,
          loader: 'vue-loader',
          options: {
              loaders: {
                  // Since sass-loader (weirdly) has SCSS as its default parse mode, we map
                  // the "scss" and "sass" values for the lang attribute to the right configs here.
                  // other preprocessors should work out of the box, no loader config like this necessary.
              }
              // other vue-loader options go here
          }
      },
      {
          test: /\.js$/,
          loader: 'babel-loader',
          exclude: /node_modules/
      },
      {
          test: /\.(png|jpg|gif|svg)$/,
          loader: 'file-loader',
          options: {
              name: '[name].[ext]?[hash]'
          }
      }
    ]
},
resolve: {
    alias: {
        'vue$': 'vue/dist/vue.esm.js'
    },
    extensions: ['*', '.js', '.vue', '.json']
},
devServer: {
    historyApiFallback: true,
    noInfo: true,
    overlay: true
},
performance: {
    hints: false
},
devtool: '#eval-source-map'

}
if (process.env.NODE_ENV === 'production') {

module.exports.devtool = '#source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
module.exports.plugins = (module.exports.plugins || []).concat([
  new webpack.DefinePlugin({
      'process.env': {
          NODE_ENV: '"production"'
      }
  }),
  new webpack.optimize.UglifyJsPlugin({
      sourceMap: true,
      compress: {
          warnings: false
      }
  }),
  new webpack.LoaderOptionsPlugin({
      minimize: true
  })
])

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值