javascript - Node.js 需要存储在变量中的路径

标签 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?

最佳答案

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

错误:

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

右:

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

关于javascript - Node.js 需要存储在变量中的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30752365/

相关文章:

javascript - 整理单词失败,并带有一些测试用例

使用 R 重命名子目录中的文件

javascript - 输入验证无法正常工作

javascript - WebRTC - 从 Chrome 而不是 Firefox 获取 'malformed constraints object'

node.js - 哪个 JetBrains IDE 更适合 nodeJS?

javascript - 如何通过多个键对 JSON 数组数据进行分组

node.js - Google Speech to Text API 在本地给出的结果与在线演示不同

powershell - 使用 PowerShell 设置特殊文件夹的位置

java - 为什么 DistributedCache 会破坏我的文件名

javascript - 查找由与中心的 Angular 定义的正方形边缘的坐标