dev*_*abe 33 javascript ecmascript-6 webpack webpack-style-loader
我是webpack的新手,我正在尝试理解加载器及其属性,如测试,加载器,包含等.
这是我在谷歌中找到的webpack.config.js的示例片段.
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel-loader',
include: [
path.resolve(__dirname, 'index.js'),
path.resolve(__dirname, 'config.js'),
path.resolve(__dirname, 'lib'),
path.resolve(__dirname, 'app'),
path.resolve(__dirname, 'src')
],
exclude: [
path.resolve(__dirname, 'test', 'test.build.js')
],
cacheDirectory: true,
query: {
presets: ['es2015']
}
},
]
}
Run Code Online (Sandbox Code Playgroud)
我是对的测试:/. js$/将仅用于扩展名为.js的文件?
加载器:'babel-loader',是我们使用npm安装的加载器
包括:我对此有很多疑问.我是对的,我们放在阵列中的任何东西都会被编译好吗?这意味着,将编译lib,app和src中的index.js,config.js和所有*.js文件.
关于include的更多问题:当文件被转换时,*.js文件是否会连接成一个大文件?
我认为排除是自我解释的.它不会被转化.
查询:{presets:['es2015']}有什么作用?
san*_*eep 19
在webpack配置中,有很多配置,重要的是配置
output - 要创建的最终包.如果你指定例如
输出:{filename:"[name] .bundle.js",供应商:"react"}
然后你的应用程序js文件将捆绑为main.bundle.js并在vendor.js文件中作出反应.如果你不在html页面中同时使用它们是一个错误.
希望它有所帮助
该文档帮助我更好地理解。看起来适用于webpack 1,但仍然适用。
https://webpack.github.io/docs/configuration.html#module-loaders
装载机
一系列自动应用的加载程序。
每个项目都可以具有以下属性:
- 测试:必须满足的条件
- 排除:不得满足的条件
- 包括:加载程序将在其中转换导入文件的路径或文件的数组
- loader: 一串“!”分隔的加载器
- 加载程序:字符串形式的加载程序数组
这个例子帮助我了解发生了什么。看起来您同时使用了包含或排除,但不能同时使用两者。该测试是应用于所有文件的条件。因此,如果您包含一个文件夹,则每个文件都必须通过测试条件。我还没有对此进行验证,但是基于文档提供的示例,它看起来是这样工作的。
module: {
rules: [
{
// "test" is commonly used to match the file extension
test: /\.jsx$/,
// "include" is commonly used to match the directories
include: [
path.resolve(__dirname, "app/src"),
path.resolve(__dirname, "app/test")
],
// "exclude" should be used to exclude exceptions
// try to prefer "include" when possible
// the "loader"
loader: "babel-loader" // or "babel" because webpack adds the '-loader' automatically
}
]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51879 次 |
最近记录: |