在GAE的标准环境中,package.json的devDevependency保持为ignored。但是Flexible environment没有这样的限制。但是,尝试将我的应用程序部署到GAE时,出现包裹未找到错误。
这是我的app.yaml:
runtime: nodejs
env: flex
还有我的package.json:
{
"main": "index.js",
"scripts": {
"dev": "nodemon -w ./server bin/runServer -e js,json",
"build:client": "parcel build client/index.html",
"start": "npm run build:client && cross-env NODE_ENV=production node ./bin/runServer"
},
"dependencies": {
"@material-ui/core": "^3.1.2",
"@material-ui/icons": "^3.0.1",
"classnames": "^2.2.6",
"express": "^4.16.3",
"lodash": "^4.17.11",
"material-ui": "^0.20.2",
"morgan": "^1.9.1",
"react": "^16.5.2",
"react-dom": "^16.5.2",
"react-loadable": "^5.5.0",
"react-multi-lang": "^1.0.2",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"whatwg-fetch": "^3.0.0"
},
"devDependencies": {
"@babel/core": "^7.1.2",
"@babel/plugin-proposal-class-properties": "^7.1.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.0.0",
"cross-env": "^5.2.0",
"nodemon": "^1.18.4",
"parcel": "^1.10.1",
"parcel-bundler": "^1.10.1"
}
}
最佳答案
我最后检查的App Engine不会安装devDependencies,因为默认情况下它使用的是npm install --production
。如果要确保已安装它们,则可以选择以下几种方法:
您可以将所有内容移至dependencies
部分
您可以定义自己的Dockerfile
,并在开始之前在其中运行常规的npm install
(可能是最好的)您可以在第一阶段使用Multi-stage docker build来执行构建步骤,并生成仅满足您需求的其他更苗条的映像。
希望这可以帮助!
关于node.js - Flex应用程序引擎中Node js应用程序中的devDependencies,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52707834/