有人使用" less"像这样:
var less = require('less');
less.render('.class { width: (1 + 1) }', function (e, css) {
console.log(css);
});
在我的电脑中,它说:"错误:无法找到模块'更少'"。但我曾尝试安装" less"通过
"npm install less -g"
使用前"要求('少');"
答案 0 :(得分:1)
最近NPM对全球模块的改变很少。
现在,默认情况下,全局安装后只需require(my_module)
就行了,也就是说,NPM甚至不会检查全局路径中是否安装了my_module
。
您需要做的是两个选择:
npm link less
,这将创建指向全局路径中安装的less
的符号链接。它通常用于开发,但对于生产,他们建议不要(因为你失去版本控制)。npm install less
。适用于开发和生产,但正如您猜测的那样,它会再次下载less
模块。有关此主题的更多信息:https://www.npmjs.org/doc/cli/npm-link.html
答案 1 :(得分:0)
我认为这取决于您的Less(和节点)版本。 您可以以https://raw.githubusercontent.com/less/less.js/master/bin/lessc为例。文档还有一个关于programmatic-usage的部分。
对于Less v2,您应指向less-node
,将早期版本指向less
。如果您安装全局,则应更改require
中的路径,另请参阅Loading from node_modules Folders:
例如,如果调用'/home/ry/projects/foo.js'中的文件 require('bar.js'),然后节点将在以下位置查找 这个顺序:
/home/ry/projects/node_modules/bar.js /home/ry/node_modules/bar.js /home/node_modules/bar.js /node_modules/bar.js
这意味着你可能需要设置less/lib/less
。
还应通过运行:
来安装promise模块npm install promise