美文网首页Vue
webpack安装babel的时候出现版本问题

webpack安装babel的时候出现版本问题

作者: 超级小金刚葫芦娃 | 来源:发表于2019-08-01 12:00 被阅读0次

Error: Cannot find module '@babel/core’问题

主要是在安装babel的时候出现版本问题

问题产生的原因

babel-loader和babel-core版本不对应所产生的,

babel-loader 8.x对应babel-core 7.x

babel-loader 7.x对应babel-core 6.x

其次需要把package.json里babel的模块版本统一

资料里所说的修改.babelrc文件在根目录没有的话可以新建一个

webpack教程
更新步骤

import styles from '!style-loader!css-loader!./Greeter.css';//导入

require("!style-loader!css-loader!./main.css");

学习过程中发现需要这样在js中引用css模块否则在使用html-webpack-plugin生成模板页时 npm start会报错

出现Error: Chunk.entrypoints:UseChunks.groupsIterableandfilterbyinstanceof Entrypoint instead的原因是

extract-text-webpack-plugin目前还没有webpack4版本。可以使用该方式npm install extract-text-webpack-plugin@next解决

//教程中的例子使用webpack 4的话有挺多问题
//最后有效的配置应该如下
// webpack.production.config.js
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
    entry: __dirname + "/app/main.js", //已多次提及的唯一入口文件
    output: {
        path: __dirname + "/build",
        filename: "bundle-[hash].js"
    },
    devtool: 'null', //注意修改了这里,这能大大压缩我们的打包代码
    devServer: {
        contentBase: "./public", //本地服务器所加载的页面所在的目录
        historyApiFallback: true, //不跳转
        inline: true,
        hot: true
    },
    module: {
        rules: [{
            test: /(\.jsx|\.js)$/,
            use: {
                loader: "babel-loader",
                options: {
                    presets: [
                        "@babel/preset-env", "@babel/preset-react"
                    ]
                }
            },
            exclude: /node_modules/
        }, {
            test: /\.css$/,
            use: ExtractTextPlugin.extract({
                fallback: "style-loader",
                use: [{
                    loader: "css-loader",
                    options: {
                        modules: true, // 指定启用css modules
                        localIdentName: '[name]__[local]--[hash:base64:5]' // 指定css的类名格式
                    }
                }, {
                    loader: "postcss-loader"
                }],
            })
        }]
    },
    plugins: [
        new webpack.BannerPlugin('版权所有,翻版必究'),
        new HtmlWebpackPlugin({
            template: __dirname + "/app/index.tmpl.html" //new 一个这个插件的实例,并传入相关的参数
        }),
        new webpack.optimize.OccurrenceOrderPlugin(),
        new ExtractTextPlugin("style.css"),
        new CleanWebpackPlugin()
    
    ],

  optimization: {
    minimizer: [
             new UglifyJSPlugin({
                 uglifyOptions: {
                     output: {
                         comments: false
                     },
                     warnings: false,
                     compress: {
                         drop_debugger: true,
                         drop_console: true
                     }
                 }
             }),
         ]
   }
};

相关文章

网友评论

    本文标题:webpack安装babel的时候出现版本问题

    本文链接:https://www.haomeiwen.com/subject/yorqdctx.html