我有一个目录与多个js源文件是在客户端的网页上导入。我还需要将所有这些源文件导入到服务器端节点js app中。
到目前为止,我使用了以下方法
if( 'undefined' != typeof global ) {
module.exports = global.Class= Class;
}代码将追加到源文件的末尾
但是,我需要避免编辑源文件。有没有一种好的方法来导入包含在源文件夹中的所有类?而不是只遍历源文件并为每个类创建一个modules.exports?另外,有没有一种方法可以为require()调用提供一个目录,并让它导入所有包含的源文件?
发布于 2013-02-11 07:28:32
通过将对象导出到全局名称空间中,您在某种程度上违反了Javascript中的最佳标准。module.exports中的要点是,您可以使用requireJS导入所需的对象,而不是让为您提供所有可用的对象。因此,我担心答案是否定的,require调用只接受单个模块引用(由于将对象赋值给变量的函数的返回值)。
“好”的方法是在客户端包含一个文件,该文件包含您的主客户端代码,这些代码引用了它继续工作所需的模块/对象。然后,当需要时,源文件将被包括在内。
发布于 2013-02-11 22:37:49
如果可以修改客户端文件,可以使用以下模式:http://caolanmcmahon.com/posts/writing_for_node_and_the_browser/
发布于 2013-02-12 18:08:46
文件: tool.js
(function(exports) {
exports.Hello = function(name) {
console.log('Hello %s', name);
}
})(exports || window);文件index.js
require('./tool').Hello('username');https://stackoverflow.com/questions/14803156
复制相似问题