Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过Docker容器运行node.js应用程序_Node.js_Docker_Npm_Dockerfile - Fatal编程技术网

无法通过Docker容器运行node.js应用程序

无法通过Docker容器运行node.js应用程序,node.js,docker,npm,dockerfile,Node.js,Docker,Npm,Dockerfile,我有一个node.js应用程序,我正试图在docker中运行。下面是package.json文件片段 "main": "lib/server.js", "scripts": { "clean": "cross-env rm -rf dist", "build": "cross-env babel lib -d dist", &qu

我有一个node.js应用程序,我正试图在docker中运行。下面是package.json文件片段

"main": "lib/server.js",
  "scripts": {
    "clean": "cross-env rm -rf dist",
    "build": "cross-env babel lib -d dist",
    "start": "npm run clean && npm run build && npm run serve",
    "serve": "node dist/index.js",
    "dev": "cross-env NODE_ENV=development nodemon lib/server.js --exec babel-node",
    "test": "echo \"Error: no test specified\" && exit 1",
    "lint": "eslint --ext .js lib/ scripts/ --ignore-pattern node_modules/"
  }
这是用于构建图像的Dockerfile

#---- Base Node------
FROM node:10.15.1-alpine

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY package*.json ./

COPY lib ./lib

RUN npm install --only=production && npm run build

EXPOSE 4201

CMD ["npm", "run", "serve"]
当我尝试运行映像时,出现以下错误。这是错误的屏幕截图

节点和npm版本在我的机器上和我用来构建映像的基础映像上是相同的。 当我在我的机器上本地运行相同的命令时,它会工作 这是我在我的机器上运行的确切命令,它可以工作

npm安装--仅限=生产

npm运行构建

跑发球


我做错什么了吗?非常感谢您的帮助。

您正在使用ES6导入

从包中导入x


为此,您应该安装Babel软件包,否则它将不知道如何导入该文件

检查您的
package.json
依赖项列表,您可能没有在其中添加
express
。发布完整的
package.json
文件。您确定Babel可用并且传输成功吗?
“Babel cli”:“^6.26.0”,“Babel polyfill”:“^6.26.0”,“express”:“^4.16.4”
是的,我有Babel和express。如何检查babel是否成功传输?找到了。我忘了将Dockerfile中的.babelrc复制到工作区。应该是这个
COPY.babelrc./
。babel传输需要babelrc。
“babel cli”:“^6.26.0”,“babel polyfill”:“^6.26.0”,“express”:“^4.16.4”
是的,我安装了babel。