【发布时间】:2014-07-17 04:14:23
【问题描述】:
我刚刚开始使用 SailsJS 作为我在 Node.js 上的第一个 Web 框架。假设我想添加 MomentJS 并在整个应用程序中使用。如何设置?
【问题讨论】:
标签: sails.js node-modules
我刚刚开始使用 SailsJS 作为我在 Node.js 上的第一个 Web 框架。假设我想添加 MomentJS 并在整个应用程序中使用。如何设置?
【问题讨论】:
标签: sails.js node-modules
如果您尝试将 node_modules 包含到客户端,例如 jQuery、AngularJS 或各种字体库之一,那么您可以像往常一样 npm install 它们,但只是为了确保在您编辑的风帆中你的tasks/config/copy.js 并添加一个新块,例如:
grunt.config.set('copy', {
dev: {
files: [{
expand:true,
cwd: './node_modules/font-awesome/fonts',
src: ['**/*'],
dest: '.tmp/public/fonts'
}
}
});
LESS 可以像平常一样被@imported,而不会被复制。其他资产将需要如上所述复制。如果您使用的是sails linker,请不要忘记将您的JS 路径也添加到tasks/pipeline.js(如果需要)。
您可以在此处阅读更多内容: http://ash.zi.vc/sails/2016/02/02/including-client-side-node-modules-in-my-sails-application/
如何将 npm 模块同步到 Web 可访问目录并不是很明显。
【讨论】:
SailsJS 与任何其他 NodeJS 应用程序没有什么不同。所以在你的(比如说)Controller.js 文件之上,你做
var m = require("moment");
你可以走了。 @mdunisch 的方法显然可以让您在整个应用程序中使用 moment 包,而无需在每个文件中执行“require”。
【讨论】:
您可以使用 bootstrap.js(在 config/ 中)
喜欢:
module.exports.bootstrap = function (cb) {
sails.moment = require('moment');
cb();
};
在您可以使用的所有 Sails 文件中
sails.moment()
现在。
【讨论】:
npm install moment --save