node.js - express 4.0.0 生成已弃用的依赖项和漏洞
问题描述
从 Ubuntu 18.04 LTS 存储库安装了所有默认版本:
nvm 0.35.0
node v10.16.3
npm 6.9.0
express 4.0.0
以下所有命令(在快速入门教程和几个 StackOverflow 问题和博客中提供)
express app --view=pug
express --view pug
express --pug
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"
}
}
npm install
当然,在此基础上运行会产生折旧警告,jade
并且还会报告constantinople@2.0.1
.
不是一个好的开始,对吧?
问题:如何使用 express-generator(或其他任何方式)获得有效且当前的 kickstart?
解决方案
- 请使用
npx express-generator
以获取最新版本的快递。 - 在 package.json 中移除 Jade
- 安装哈巴狗(Jade 已重命名为哈巴狗)
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
以检查任何漏洞
推荐阅读
- mysql - 需要使用 group by 检索最后一条记录
- arrays - 为什么当我打印我的对象数组时它显示全部为空?
- angular - 使用 @angular/localize 本地化的 Angular 12 使用 nginx 在 docker 中运行
- python - CondaValueError:目标前缀是基本前缀。中止。在 anaconda 提示符下
- cors - Blazor webassembly - windows 身份验证 - CORS 错误 - 请求的资源上不存在“Access-Control-Allow-Origin”标头
- r - 转换后 R 管道运算符的行为
- reactjs - 如何使用 react-leaflet 显示我的搜索栏?
- python - Nonetype 对象没有 lower 属性
- azure - 同步 Azure AD 上 Windows 10 不可用的设置
- flutter - 用户已通过身份验证,但其数据未保存在 Cloud Firestore 中