Node.js require() vs RequireJS?
Node.js require() vs RequireJS?
Hello with RequireJS我可以设置这样的基本路径:base : './app/'
,所以当我在./app/foo/bar/
中时,例如,当我有一个使用require('foo');
RequireJS的脚本时,我会搜索./app/foo.js
,而不是在node_module
文件夹或./app/foo/bar/foo.js
中。当你有一种结构时,作为一名开发人员,如果你看到依赖关系而不是../../foo.js
,这会很方便。我可以有./app/foo.js
、./app/foo/foo.js
和./app/foo/bar/foo.js
,如果有会干净得多
require('foo');
require('foo/foo');
require('foo/bar/foo');
而不是:
require('../../foo');
require('../foo');
require('./foo');
现在你可以说为什么不更改名称,不在任何地方都有foo,假设我们出于任何原因都不能…
我在node针对RequireJS的require方法中看到的另一个不足之处是设置路径映射的能力,如果我在RequireJS中有一个名为./app/super-sized-directory-name/
的目录,我可以简单地执行'big-dir' : 'super-sized-directory-name'
,然后我可以将require('./app/big-dir/foo')
与node.js的require方法一起使用,据我所知,这是不可能的…
--alias, -a Register an alias with a colon separator: "to:from"
Example: --alias 'jquery:jquery-browserify'
您可以使用browserfy注册别名,这样就可以覆盖您的重命名。
至于你的根绝对路径,那真的不可能做到。如前所述,modul8
具有名称空间机制来解决这一问题。
我建议你在freenode上的#stackvm中乒乓SubStack,然后直接问他。
它可能对您有帮助,也可能对您没有帮助,但我相信Dojo Frameworks AMD Loader是与RequireJS兼容的API,并且如果您使用新的微内核,则不会污染全局命名空间。
我相信它现在在全局命名空间中只有require()
和define()
。
无论如何,他们处理这个问题的方法是做一些类似的事情:
require(["dojo/node!util"], function(util){
// Module available as util
});
文档位于http://dojotoolkit.org/reference-guide/1.8/dojo/node.html
使用uRequire,它在nodejs require
和AMD define
模块之间提供了一个"桥梁",而无需重新设计轮子(它是在这两个标准的基础上构建的)。它基本上将模块从AMD或commonJS格式转换为在nodejs&浏览器。
它还使用灵活的路径约定转换依赖路径,因此您可以使用'../../foo'
或'bar/foo'
,这取决于您所在位置的意义。
您的AMD或UMD模块在浏览器上异步加载(使用AMD/requireJs或其他AMD加载程序),在节点上也模拟异步require(['dep1', 'dep2'], function(dep1,dep2){...})
。
- setInteval vs setTimeout
- $(this).prop('property') vs. this.property
- 以可优化的方式使用requirejs加载模板
- RequireJS向模块传递配置总是返回undefined
- Js.erb VS按钮标记-不'不起作用.为什么?
- reactjs this.refs vs document.getElementById
- Performance: NaCl vs Emscripten
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- Advantages to DOMParser vs template & innerHTML
- JavaScript-===vs===运算符性能
- PhoneGap/带有RequireJS's的文本插件
- 如何正确地将参数传递给RequireJS回调函数
- 在requirejs中共享实例化对象
- Requirejs and Grunt: mainConfigFile vs grunt task options
- RequireJS vs Dojo 1.7 AMD
- RequireJS Optimizer and VS 2010 Itegration
- Node.js require() vs RequireJS?
- RequireJS区分大小写——本地vs服务器
- RequireJS-定义中的依赖参数vs需要等价
- RequireJs VS Browserify哪一个最适合JS优化