0

我正在编写一个可以在浏览器和 node.js 上使用的文件。要使用库,我可以_ = require('underscore.js'); main();在节点和$.getScript('underscore.js',function(){ main(); });浏览器上使用它来导入它。包含适用于两种环境的文件的正确方法是什么?

4

2 回答 2

3

您可以使用 AMD 兼容的模块加载器,例如 RequireJS。

http://requirejs.org/

于 2012-11-16T00:14:48.603 回答
2

尝试对象检测

if($ && $.getScript){
    $.getScript('underscore.js',function(){ main(); });
}else if(require){
    _ = require('underscore.js');
}else{
    /* output: Could not load library 'underscore.js'. */
}

这样做的危险是require可以定义但意味着其他东西。

于 2012-11-16T00:14:40.887 回答