gpt4 book ai didi

node.js - 如何在 npm 模块中引用本地文件?

转载 作者:IT老高 更新时间:2023-10-28 23:26:44 24 4
gpt4 key购买 nike

在使用 django 压缩器对一些客户端组件进行后处理时,我编写了一个简单的 npm 模块来预编译我的 Handlebars 模板,发现我需要在 npm 模块中附带一些 js 文件。

目前我只是假设没有人使用全局标志安装它,因为我已经在 npm 模块本身中“硬编码”了这些依赖项的路径

我的 npm 模块的示例布局

/
*/bin
*/lib/main.js
*/vendor/ember.js

现在在 main.js 中我想使用 ember.js 文件...目前我的硬编码方法看起来像这样

var emberjs = fs.readFileSync('node_modules/django-ember-precompile/vendor/ember.js', 'utf8');

再一次 - 这只是因为我假设您将它安装在本地,但我想认为 node.js 有一种更合法的方式来获取本地嵌入的文件

有谁知道我可以如何改进它以使其更加“全局”友好?

最佳答案

您可以做的是获取当前文件的目录,并使您的文件路径相对于该目录。

var path = require('path')
, fs = require('fs');

var vendor = path.join(path.dirname(fs.realpathSync(__filename)), '../vendor');
var emberjs = fs.readFileSync(vendor + '/ember.js', 'utf8');

希望有帮助!

关于node.js - 如何在 npm 模块中引用本地文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14417764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com