一段时间以来,我们一直在使用带有 babel-loader 插件的 webpack 来转译 ES。对于我们的开发环境,我们的配置文件如下所示:
module.exports = {
entry: {
// When I change the below to app2.js, it's no longer transpiled
app: path.resolve(__dirname, 'client', 'app.js'),
},
module: {
loaders: [
{
exclude: /node_modules/,
loader: 'babel',
test: /\.js$/,
},
{
test: /\.s?css$/,
loader: ExtractTextPlugin.extract('style-loader', sassLoaders.join('!')),
},
],
},
output: {
path: path.resolve(__dirname, 'build'),
publicPath: 'http://localhost:8080/',
filename: '[name].js',
},
plugins: [
new ExtractTextPlugin('[name].css'),
new webpack.DefinePlugin(processEnvPlugin),
],
postcss: [
autoprefixer({
browsers: ['last 2 versions'],
}),
],
resolve: {
extensions: ['', '.js', '.scss', '.css'],
root: [__dirname],
},
};
我用webpack-dev-server --inline --config=webpack-dev.config.js --content-base='client'
.
问题是,如果我将app.js
条目更改为app2.js
或其他任何内容,该文件仍由 webpack 服务器提供(在 8080 上运行),但不再被转译。
app.js
就 babel-loader 而言,这个名字有什么独特/神奇之处吗?几乎我能找到的每个示例教程,包括 webpack 文档,都使用这个app.js
约定,但显然它的名字应该可以是任何东西。