【发布时间】:2018-10-06 04:28:49
【问题描述】:
我正在构建一个将在全球范围内安装的 npm 包。是否可以将非代码文件与可以从代码文件引用的代码文件一起安装?
例如,如果我的包包含someTextFile.txt 和module.js 文件(而我的package.json 包含"bin": {"someCommand":"./module.js"}),我可以将someTextFile.txt 的内容读入内存module.js 中吗?我该怎么做?
【问题讨论】:
-
第一个问题,为什么是 txt 文件……第二个问题,该文件的路径重要吗?
-
@Hackerman 不一定是
.txt文件。我的想法是我想构建一个 cli 工具(在 node.js 中,通过 npm 发布和分发),它可以引用未存储在代码中的数据。在我的特殊情况下,我想构建一个脚手架工具,它在运行时会选择一个模板文件,稍微转换模板文件,然后将结果保存在运行脚手架任务的本地目录中。该工具需要模板文件的路径,以便在执行时可以读取该文件。 -
在我看来,npm 包只是一个带有
package.json的文件夹。因此,如果您包含其他文件,例如 .txt 文件,它应该是可访问的。您想知道它是否可以访问,或者如何访问它?因为对于后者,您似乎可以像访问常规文件一样访问这些文件。 -
@mgul 这也是我对 npm 的理解。我想我的问题可以改写为“我的 npm 包中的代码文件如何找到全局安装的 npm 文件夹的路径,它所在的位置可以保证跨操作系统工作并且是未来的证明?”一旦我有了它,我就可以构建该文件夹中各个文件的路径,并将它们作为普通文件进行交互。
-
我认为您应该研究这个问题:stackoverflow.com/questions/10265798/… 它本质上为您提供了访问项目根目录以访问那里文件的方法。
标签: javascript node.js npm scaffolding