module: { loaders: [ { test: /\.js$/, loader: "babel", } ] }
检查你的正则是否正确
把报错信息贴一下
你的版本过高吧,这个得用rules
我的也是
module: {
rules:[
{
test: /\.js$/,
loader: 'babel-loader',
exclude: __dirname + 'node_modules',
include: __dirname + 'src',
options: {
presets: ['env']
}
}
]
},
我的webpack是4.21.0的,改成这样就好了
卸载之前视频里的babel-core ,现在安装babel的方式有些跟之前不一样了,我是这样做的,先卸载安装视频里安装的babel-core,然后输入命令npm i -D @babel/core,接下来安装npm i -D @babel/preset-env,再在package.json里写上
"babel": {
"presets": [
"@babel/preset-env"
]
},
之后就没有报错了~~
应该是报错了姐妹,应该是插件的版本和webpack的版本和老师的不一样导致的。
试试看用我的。我运行没问题。
安装一下json loader
npm install --save-dev csv-loader xml-loader
module: { rules: [ { test: /\.txt$/, use: 'raw-loader' } ] }
详细信息查看官网:https://www.webpackjs.com/concepts/#loader
可能会有网络延时的问题
新版Babel-loader中要用rules来替换loaders
webpack4.0以上版本必须使用rules use module: { rules: [ { test: /\.js$/, use: [ { loader: 'babel-loader' } ] } }
已经解决了
安装 npm install --save-dev html-loader
config配置项加 html-loader
config配置
原理我还没弄懂,但是当时报错的时候,提示loader要用“babel-loader”而不是"babel",所以我按照提示改了
webpack版本不一样。老师那个版本是老古董了
看到后面知道了
const path = require('path');
const webpack = require('webpack');
const htmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/app.js',
output: {
path: path.resolve(__dirname,'./dist'),
filename: 'js/[name].js'
},
module: {
rules: [
{
test: /\.js$/,
use: {
loader: 'babel-loader',
options: {
"presets": ["latest"]
}
}
},
{
test: /\.html$/,
use: {
loader:'html-loader'
}
}
]
},
plugins: [
new htmlWebpackPlugin({
filename:'index.html',
template:'index.html',
inject:'body'
})
]
}
新版本rules代替loaders
babel-loader@7 版本
对,只是给你一个建议,给你需要处理的文件划定一个范围有益于提高你得打包速度
将package.json 中的presets值修改成latest或者es2015
可能是你用npm安装包的时候缺少了依赖
文件名是在webpack.config.js 中
entry: {
//关联脚本路径
main: './src/app.js',
},
定义的
你将main 改成app 试试
安装的时候 这样写:
npm install --save-dev babel-loader babel-core
npm install --save-dev babel-preset-env
webpack.config.js中不能省略些了,这样写:loader:'babel-loader'
package.json中这样写:“babel" : { "presets" : [ "es2017" ] }
我是百度了好久,终于不报错了
说是找不到layer.js,你看看你app.js里有没有引对
./dist是nodejs的语法,结果表示一个完整路径的字符串。
__dirname+"/dist",是变量和字符串的拼接,拼接结果为字符串,要想结果也表示一个完整路径的字符串,不能带点号,否则点号也会被拼接进去。
对,3.0以上版本是用options传参数,必须包含在对象里面,比如:
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1
}
},
{
loader: 'postcss-loader',
options: {
config: {
path: 'postcss.config.js'
}
}
}
]