webpack1.0升级3.0实战

续vue1.0升级2.0后,webpack和开发环境所有插件也要求升级到新版,升级报错主要集中在插件属性变化,升级完成这样古董项目就焕然一新了。
一、话不多说上代码:
旧版本号

"webpack": "^1.13.1"

新版本号

"webpack": "^3.12.0",

旧版本webpack-base-config.js

// webpack.base.config.js
var path = require('path');
// var webpack = require('webpack');

module.exports = {
   
    // 入口
    entry: {
   
        main: ['./src/main'],
        vendors: ['vue', 'vue-router']
    },
    // 输出
    output: {
   
        path: path.join(__dirname, './dist')
    },
    // 加载器
    module: {
   
        loaders: [{
   
            test: /\.vue$/,
            loader: 'vue'
        }, {
   
            test: /\.js$/,
            loader: 'babel',
            exclude: /node_modules/
        }, {
   
            test: /\.css$/,
            loader: 'style!css!autoprefixer'
        }, {
   
            test: /\.scss$/,
            loader: 'style!css!sass?sourceMap'
        }, {
   
            test: /\.less/,
            exclude: /^node_modules$/,
            loader: `style-loader!css-loader!autoprefixer-loader?{ browsers: ['last 100 versions'] }!less-loader`
        }, {
   
            test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
            loader: 'url-loader?limit=8192'
        }, {
   
            test: /\.(html|tpl)$/,
            loader: 'html-loader?minimize=false'
        }, {
   
            test: /iview.src.*?js$/,
            loader: 'babel'
        }]
    },
    // 转es5
    babel: {
   
        presets: ['es2015'],
        plugins: ['transform-runtime', 'transform-object-rest-spread']
    },
    resolve: {
   
        // require时省略的扩展名,如:require('module') 不需要module.js
        extensions: ['', '.js', '.vue'],
        // 别名,可以直接使用别名来代表设定的路径以及其他
        alias: {
   
            '@': path.join(__dirname, './src'),
            '@Facade': path.join(__dirname, './src/libs/facade.js'),
            // api & msg
            Api: path.join(__dirname, './src/api/Api.js'),
            Msg: path.join(__dirname, './src/libs/util/Msg.js')
        }
    },
    plugins: [

    ]
};

新版本webpack-base-config.js

// webpack.base.config.js
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
// var webpack = require('webpack');

module.exports = {
   
    // 入口
    entry: {
   
        main: ['./src/main'],
        vendors: ['vue', 'vue-router']
    },
    // 输出
    output: {
   
        path: path.join(__dirname, './dist')
    },
    // 加载器
    // config.vue = {
   
    //     loaders: {
   
    //         css: ExtractTextPlugin.extract(
    //             'style-loader',
    //             'css-loader?sourceMap', {
   
    //                 publicPath: '/dist/'
    //             }
    //         ),
    //         less: ExtractTextPlugin.extract(
    //             'vue-style-loader',
    //             'css-loader!less-loader'
    //         ),
    //         sass: ExtractTextPlugin.extract(
    //             'vue-style-loader',
    //             'css-loader!sass-loader'
    //         )
    //     }
    // };
    module: {
   
        rules: [{
   
            test: /\.vue$/,
            use: [{
   
                loader: 'vue-loader',
                options: {
   
                    loaders: {
   
                        less: ExtractTextPlugin.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值