我使用Create-React-App初始化了一个项目。
如果我......一切正常......
npm run start
并查看http://localhost:3000
或
npm run build && serve -s build
并查看http://localhost:5000
然而,在我使用...
部署到s3存储桶之后 npm run build && aws s3 sync build/ s3://${DEPLOYMENT_BUCKET}
...我转到s3网址并在控制台中出现此错误的空白屏幕:
未捕获错误:找不到模块" ./ locale"
我认为这可能与moment.js有关 - 虽然它不是我已经添加的依赖。
查看我的node_modules,我可以看到moment.js的版本是2.18.1,我认为它排除了this answer
我不确定如何调试此问题,所以任何帮助都会受到赞赏。
不知道这是否会有所帮助,但我目前的package.json如下所示。
{
"name": "my_app",
"version": "1.0.0",
"private": true,
"dependencies": {
"amazon-cognito-identity-js": "^1.19.0",
"antd": "^2.13.4",
"axios": "^0.16.2",
"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-router-dom": "^4.2.2",
"react-scripts": "1.0.13",
"recompose": "^0.25.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
答案 0 :(得分:1)
安装蚂蚁设计依赖项以使用它时,我也面临相同的问题。我收到相同的错误消息
错误:找不到模块“ ./locale”
然后我安装一下矩,然后将其卸载,并且此错误也随之消失。
const myEl = this.el.nativeElement;
while(myEl.firstChild) {
this.renderer.removeChild(myEl, myEl.lastChild);
}
答案 1 :(得分:0)
在查看react-scripts处理项目构建的方式之后,我在create-react-app附带的/react-scripts/config/webpack.config.prod.js
文件中找到了这个有趣的代码片段(这是prod构建的Webpack配置文件)
// Moment.js is an extremely popular library that bundles large locale files
// by default due to how Webpack interprets its code. This is a practical
// solution that requires the user to opt into importing specific locales.
// https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
// You can remove this if you don't use Moment.js:
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
您可能想要导入特定的语言环境,如果您使用任何语言环境,则看起来不是这样,否则请注释掉该行。