我已经使用node创建了lambda应用程序。我面临的主要问题是使用npm构建移动node_module。除节点模块外,aws lambda也共享codeUri目录。因此,我使用babel移动我的所有代码.build目录,包括package.json。这是将node_module移动到.build文件夹的最佳方法。
"scripts": {
"test": "cross-env NODE_ENV=test jest",
"build": "npm run clean:lib && mkdirp ./.build && npm run copyAndInstall && npm run build:babel",
"build:noclean": "npm run copyAndInstall && npm run build:babel && mkdirp ./.build ",
"build:lint": "eslint -c ./.eslintrc.json --ignore-path ./.eslintignore --ext .jsx,.js \"**\\*.+(js|jsx)\"",
"build:babel": "babel ./src --out-dir ./.build --ignore bower_components,coverage,node_modules,test,.dist,.build,temp,./start.js --comments false",
"clean:lib": "npm install rimraf && rimraf ./build",
"update:modules": "rimraf ./package-lock.json && rimraf ./node_modules && npm i",
"prepush": "npm run build:fix",
"build:fix": "eslint --fix -c ./.eslintrc.json --ignore-path ./.eslintignore --ext .jsx,.js \"**\\*.+(js|jsx)\"",
"copyAndInstall": "copyfiles package.json ./.build/
}
我什至尝试了npm install --production --prefix ./.build“,它给出了类似的错误 拒绝以npm err软件包的名称安装软件包!也叫您将项目命名为与要安装的依赖项相同吗?