Node.js需要存储在变量

时间:2015-06-10 09:27:14

标签: javascript node.js path require

我正在测试一些nodejs代码,这就是我的目录:

-> source  //NODE PATH=./source ...
-> plugs
   -myPlug.js
   -test.js

test.js中,我尝试像这样要求myPlug.js

function(){
     var myRequiredPlug = require('./myPlug.js') //this works
}

由于NODE PATHsource,我也尝试过:

function(){
     var myRequiredPlug = require('./../plugs/myPlug') //also works
}

但我每次都需要为我的应用程序设置一个不同的插件,所以我非常想以这种方式创建路径:

 function(nameOfPlug){  // nameOfPlug := myPlug
     var myPath = './../plugs/' + nameOfPlug;
     console.log(myPath === './../plugs/myPlug') // true, so same string
     var myRequiredPlug = require(myPath);  
}

当我按照他的方式尝试时,我收到错误:Error: Cannot find module './../plugs/myPlug'

我已经尝试了path.normalize,甚至用path.join加入路径,但得到了相同的结果。有任何想法吗?

更新:回答

可以使用 RequireJS Dynamic require in RequireJS, getting "Module name has not been loaded yet for context" error?

解决此答案

2 个答案:

答案 0 :(得分:0)

我使用复合线,但不完全使用

错误:

const path = './some/path.file';
const data = require(`${path}`);

右:

const path = 'file';
const data = require(`./some/${path}.file`);

答案 1 :(得分:0)

override fun configure(http: HttpSecurity) {
    http
        .addFilterBefore(MyCustomLoggingFilter(), WebAsyncManagerIntegrationFilter::class.java)
        .authorizeRequests()
        .antMatchers(
        ...
        )
}