fs.readFile一个模块,我怎么知道它在哪里?

时间:2013-12-29 05:41:29

标签: node.js

我需要在我构建的npm模块中使用jquery源代码。

我原来是这样做的:

fs.readFile("./node_modules/jrender/node_modules/jquery/dist/jquery.js", "utf-8", function(err, src){
});

但是,如果您已经在主项目中安装了jquery,它将无法下载并将其安装到此路径中。

我该如何解决这个问题?

  • 我检查这个文件是否存在于任何一个地方,然后使用存在的文件。
  • 在模块
  • 中包含固定版本的jquery
  • require()是否允许您查看所包含的javascript文件的来源

1 个答案:

答案 0 :(得分:1)

您可以通过查看module.children

找到jquery文件的位置
var s = require("jquery");

var jqfile = null;

for (var i = 0;i < module.children.length;i++) {
    if (module.children[i].filename.match(/jquery.js$/))
      jqfile = module.children[i].filename
}

fs.readFile(jqfile, "utf-8", function(err, src){
});