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
Node.js 使用Express.js附带的Jade_Node.js_Express_Npm_Pug_Require - Fatal编程技术网

Node.js 使用Express.js附带的Jade

Node.js 使用Express.js附带的Jade,node.js,express,npm,pug,require,Node.js,Express,Npm,Pug,Require,所以我有一个使用Express.js和Jade的项目。我在Node.js应用程序中使用了一些Jade代码片段来创建HTML 例子: var jade=require('jade'); var jadesr=jade.compile('var.heading'); var jadeObj={class:“heading”,heading:“Example heading text.”; var htmlString=jadest(jadeObj); //使用htmlString获取日志或错误消息或

所以我有一个使用Express.js和Jade的项目。我在Node.js应用程序中使用了一些Jade代码片段来创建HTML

例子:
var jade=require('jade');
var jadesr=jade.compile('var.heading');
var jadeObj={class:“heading”,heading:“Example heading text.”;
var htmlString=jadest(jadeObj);
//使用htmlString获取日志或错误消息或其他信息
现在我的
package.json
文件包括Express.js和Jade,我更愿意依靠Express提供Jade包,因为我不想担心保持Express和Jade版本的同步


当我从我的
package.json
中删除Jade时,错误是它找不到Jade库。有没有一种方法可以获取Express.js使用的Jade库,而不将其单独包含在我的
包.json
文件中?

在Express 3.4中,Jade在
devDependencies
中指定,这意味着在运行
npm install Express
时不会安装它;您需要自己安装它。但是,由于express不太可能经常破坏与jade的向后兼容性,因此无需对其进行更新。

您可以将jade从devdependency移动到节点模块内部的express module package.json中的依赖项


这就可以解释了!我认为这是一个硬依赖,显然不是。嗯,如果我这样做,我还不如
npm shrinkwrap
在那里处理一切。然而,我不认为这是一个很好的解决方案。
var jade = require('jade');

var jadeStr = jade.compile('<h1 class="#{ var.class }">var.heading</h1>');
var jadeObj = { class: "heading", heading: "Example heading text."};

var htmlString = jadeStr(jadeObj);
// use htmlString for a log or error message or whatever