【发布时间】:2019-11-27 16:49:27
【问题描述】:
我正在尝试改善我的 node/express 应用程序的启动时间。
我注意到需要一些模块需要很长时间:
tracer: 2490.321ms
createError: 73.287ms
express: 975.461ms
expressHbs: 2592.473ms
path: 0.050ms
cookieparser: 22.411ms
logger: 57.616ms
objection: 1219.993ms
knex: 883.697ms
knexConfig: 4.241ms
passport: 92.907ms
session: 127.029ms
RedisStore: 65.394ms
app.js: 10214.760ms
需要这样的模块:
const express = require('express');
我在 macbook pro 本地从 docker 容器运行我的应用程序。
Dockerfile
FROM node:10.16.0
RUN npm i npm@latest -g && npm i -g sass knex pm2
WORKDIR /app
EXPOSE 3000
CMD ["npm", "run", "start-dev"]
如何加快加载过程?
【问题讨论】:
-
您是否通过复制 package.json 为您的 npm i 命令创建了单独的层? npm run start-dev 命令在这里做什么?
-
npm run start-dev 运行 npm i 并启动应用程序。测量应用程序启动时的加载时间,不包括 npm i。不确定复制 package.json 是什么意思?
-
添加了一个答案,如果可行,请点赞,如果不行,请告诉我。
标签: javascript node.js docker dockerfile node-modules