生产的webpack main.bundle.js包含文件的完整路径

时间:2018-08-18 13:02:13

标签: reactjs webpack build frontend production-environment

以下是“ main.bundle.js”中的一段文字

t&&(t.register(u,"ButtonLoaderAtom","/home/ec2-user/<project>/app/atoms/ButtonLoader/index.jsx"),t.register(p,"default","/home/ec2-user/<project>/app/atoms/ButtonLoader/index.jsx"),n(e))}()}).call(t,r(2)(e))}

问题 “ /home/ec2-user//app/atoms/ButtonLoader/index.jsx”在生产版本的main.bundle.js中显示文件的完整路径名。

期望 当进行生产构建时,完整路径应该不可见。

解决方案 ??

欢迎任何帮助。预先感谢。

2 个答案:

答案 0 :(得分:2)

从.babelrc文件中删除“ react-hot-loader / babel”

答案 1 :(得分:0)

在@Arup之后,我遇到了同样的问题,并将.babelrc设置为仅在开发中包含react-hot-loader

// .babelrc
{
  "presets": [...],
  "plugins": [...],
  "env": {
    "development": {
      "plugins": ["react-hot-loader/babel",]
    }
  }
}

然后确保在package.json的webpack构建脚本中将NODE_ENV设置为生产版本

// package.json
"scripts": {
  ...,
  "webpack": "NODE_ENV='production' webpack --mode production",
}

因为.babelrc使用NODE_ENV而不是Webpack --mode。未设置NODE_ENV时,babel默认使用env=development

然后将这些文件路径从生产包中删除,同时保留所有react-hot-loader的内容在开发中