Json node.js noobie试图遵循教程-需要将jade引用更改为pug

Json node.js noobie试图遵循教程-需要将jade引用更改为pug,json,node.js,mongodb,express,Json,Node.js,Mongodb,Express,我将按照本教程学习node.js: 当我运行“npm安装”时,我看到的一些消息包括: npm WARN deprecated jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer 然后它继续运行,似乎无论如何都

我将按照本教程学习node.js:

当我运行“npm安装”时,我看到的一些消息包括:

npm WARN deprecated jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
然后它继续运行,似乎无论如何都在设置应用程序。 我的package.json文件当前如下所示:

{
  "name": "testapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.13.2",
    "cookie-parser": "~1.3.5",
    "debug": "~2.2.0",
    "express": "~4.13.1",
    "jade": "~1.11.0",
    "morgan": "~1.6.1",
    "serve-favicon": "~2.3.0",
    "mongodb": "^1.4.4",
    "monk": "^1.0.1"
  }
}
问题: (这些问题适用于我收到警告的两个软件包,但出于讨论目的,我将选择jade/pug)

如果我想将jade更改为pug,是否需要在这个package.json文件中指定版本号?或者我可以告诉它什么时候最新? 另外,我是否需要清除文件夹结构,然后重新运行npm install命令?或者我可以编辑package.json文件并重试npm安装吗

最后,根据您的经验,如果我只是想了解节点是如何工作的,那么从jade变为pug对我来说有多重要?我很想就这样离开。。。但话说回来,如果这个应用程序能工作,我知道它将投入生产。。 所以我想我应该提前做出正确的决定


如果我的问题真的是补救性的,谢谢你,对不起

看来你有几个问题,所以我会按顺序一一回答。 如果要将jade更改为pug,可以从命令行运行以下命令:

npm uninstall jade --save
然后

除非您在安装时通过以下方式指定版本:pug@1.1.0例如,您将获得当前版本。以下是有关如何在JSON中指定版本的文档,但可以指定特定版本或指定主要或次要版本。这真的取决于你想做什么

要删除不在package.json文件中的模块,请使用prune命令:

npm prune
这将删除json中未列出的模块(只要它们不是依赖项)

我相信由于版权问题,Jade被迫在npm中更改了他们的名字。我认为使用当前名称是一个好主意,这样,如果软件包发生更改,您可以随时了解最新情况


注意:请确保将扩展名从.jade更改为.pug

如果将jade/pug文件与Node.js/Express一起使用,请将应用程序的模板引擎更改为:

app.set('view engine', 'pug')

将安装的最新版本pug@2.0.0-截至2017年3月的beta11。这可能需要对旧的.jade文件进行一些更改,例如,您应该简化:

a(href="/#{link}")


有关中断更改的详细信息

供将来参考:Express作者现在在教程中使用
Express myapp--view=pug
。这样就可以安装Pug而不是不推荐的Jade

npm install pug --save 
a(href="/#{link}")
a(href=link)