Express 4.0.0 生成已弃用的依赖项和漏洞

fla*_*ier 3 node.js express

安装了 Ubuntu 18.04 LTS 存储库中的所有默认版本:

nvm 0.35.0
node v10.16.3
npm 6.9.0
express 4.0.0
Run Code Online (Sandbox Code Playgroud)

以下所有命令(在快速入门教程和几个 StackOverflow 问题和博客中提供)

express app --view=pug
express --view pug
express --pug
Run Code Online (Sandbox Code Playgroud)

package.json像这样生成:

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "nodejs ./bin/www"
  },
  "dependencies": {
    "express": "~4.0.0",
    "static-favicon": "~1.0.0",
    "morgan": "~1.0.0",
    "cookie-parser": "~1.0.1",
    "body-parser": "~1.0.0",
    "debug": "~0.7.4",
    "jade": "~1.3.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

npm install当然,运行它会产生折旧警告,并jade报告 的严重漏洞constantinople@2.0.1

这不是一个好的开始,是吧?

问题:如何使用express-generator(或其他方式)获得工作和当前的启动?

小智 6

  • 请使用npx express-generator获取最新版本的express。
  • 在 package.json 中删除 Jade
  • 安装 Pug(Jade 已重命名为 pug)npm install pug
  • npm install再次运行
  • 在 app.js 中更改app.set('view engine', 'jade');app.set('view engine', 'pug');
  • views文件夹中将任何jade文件重命名为pug。例如:index.jade ->index.pug
  • 再次运行npm audit检查是否有漏洞