在配置webpack.config.js自動打包的時候,出現Error: Cannot find module '@babel/core'錯誤
最初覺得是babel-core沒有安裝上。重裝了好幾遍babel-core仍是不行。對照之前的項目,發現babel-loader的版本不同,以前的是@7.1.5版本,而如今是@8.0.0版本。
css
帶着半信半疑的心情安裝回@7.1.5版本html
npm uninstall babel-loader npm install babel-loader@7.1.5
再npm run build
發現成功了!
有點納悶,距離上次安裝不過才幾天,就更新成babel-loader@8.0.0。並且還不支持原來的配置了。網上沒有找到方法解決,原理也還不清楚。先mark一下,之後解決了@8.0.0的這個問題再回來補充。node
附上webpack.config.js代碼:react
var webpack = require('webpack'); var path = require('path'); var HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: __dirname + '/client/root/index', //入口文件 output: { path: path.join(__dirname + '/dist'), filename: 'bundle.js', //打包後文件名 }, module: { loaders : [{ test :/(\.jsx|\.js)$/, exclude : /node_modules/, loader :'babel-loader', options:{ presets:[ "env", "react", ] } }, { test: /\.css$/, loader: 'style-loader!css-loader' }, { test: /\.less$/, loader: 'style-loader!css-loader!less-loader' }, { test: /\.(jpg|.png)$/, loader: 'url-loader' } ] }, plugins: [ //打包引用模板 new HtmlWebpackPlugin({ template: __dirname + '/client/views/template.html' }), ] }
關於babel-loader@8.0.0
出現錯誤緣由已經找到
(忘了去看官方文檔了)webpack
官方默認babel-loader | babel 對應的版本須要一致: 即babel-loader
須要搭配最新版本babel
web
具體請參考:《npm_babel-loader》npm
兩種解決方案:babel
npm install -D babel-loader@7 babel-core babel-preset-env
less
npm install -D babel-loader @babel/core @babel/preset-env webpack
ui