首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >babel: transpile一个未命名为app.js的条目?

babel: transpile一个未命名为app.js的条目?
EN

Stack Overflow用户
提问于 2017-04-13 17:06:55
回答 1查看 92关注 0票数 1

我们已经用webpack和巴贝尔-装载机插件进行了一段时间的转换。对于我们的开发环境,配置文件如下所示:

代码语言:javascript
复制
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约定,但很明显,它的名称应该可以是任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-19 11:43:33

您确定它不工作,并且正在检查正确的文件(app.js,总是这样)吗?如果所说的“该文件不再被转移”,您的意思是当您获得文件时,名为app2.js的文件不会被转移,这是您的配置所期望的行为。

根据您的配置,您的转移文件将始终被命名为app.js,而不管您的输入文件是什么:

代码语言:javascript
复制
filename: '[name].js', // => translates to "app.js"

[name]被块的名称替换为"app“:

代码语言:javascript
复制
 entry: {
    app: ...
 },

为了避免输入和输出之间的混淆,可以将块命名为不同的名称,或者只需使用硬编码的输出名称,比如'bundle.js‘。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43398023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档