Node.js 使用Express.js附带的Jade
所以我有一个使用Express.js和Jade的项目。我在Node.js应用程序中使用了一些Jade代码片段来创建HTML 例子: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获取日志或错误消息或
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