【发布时间】:2012-11-15 23:53:42
【问题描述】:
我正在编写一个可以在浏览器和 node.js 上使用的文件。要使用库,我可以在节点上使用_ = require('underscore.js'); main(); 导入它,在浏览器上使用$.getScript('underscore.js',function(){ main(); });。包含适用于两种环境的文件的正确方法是什么?
【问题讨论】:
标签: javascript node.js import
我正在编写一个可以在浏览器和 node.js 上使用的文件。要使用库,我可以在节点上使用_ = require('underscore.js'); main(); 导入它,在浏览器上使用$.getScript('underscore.js',function(){ main(); });。包含适用于两种环境的文件的正确方法是什么?
【问题讨论】:
标签: javascript node.js import
您可以使用 AMD 兼容的模块加载器,例如 RequireJS。
【讨论】:
if($ && $.getScript){
$.getScript('underscore.js',function(){ main(); });
}else if(require){
_ = require('underscore.js');
}else{
/* output: Could not load library 'underscore.js'. */
}
这样做的一个危险是require 可能被定义但意味着别的东西。
【讨论】: