Chi*_*hin 6 javascript dependency-injection node.js requirejs express
我目前正在使用requirejs来管理模块js/css依赖项.我想发现节点通过集中配置文件执行此操作的可能性.所以不要手动做类似的事情
define([
'jquery'
'lib/somelib'
'views/someview']
Run Code Online (Sandbox Code Playgroud)
在每个模块内.
我有节点注入依赖关系,即
require('moduleA').setDeps('jquery','lib/somelib','views/someview')
Run Code Online (Sandbox Code Playgroud)
无论如何,我对任何寻找节点依赖注入的项目感兴趣.
谢谢
我以前玩过这样的想法,即require在Node.js 中提供一种替代方法来提供一种依赖注入形式.
例如,假设您在code.js中有以下语句:fs = require('fs');
console.log(fs.readFileSync('text.txt', 'utf-8'));
Run Code Online (Sandbox Code Playgroud)
如果运行此代码node code.js,则会打印出text.txt的内容.
但是,假设您有一个想要抽象掉文件系统的测试模块.
您的测试文件test.js可能如下所示:
var origRequire = global.require;
global.require = dependencyLookup;
require('./code.js');
function dependencyLookup (file) {
switch (file) {
case 'fs': return { readFileSync: function () { return "test contents"; } };
default: return origRequire(file);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你现在运行node test.js,它会打印出" 测试内容 ",即使它包括code.js.
| 归档时间: |
|
| 查看次数: |
3598 次 |
| 最近记录: |