我写了一个简单的npm模块来预编译我的把手模板,当使用django压缩器对一些客户端组件进行后处理时,发现我需要发送带有几个js文件的npm模块.
目前我只是假设没有人用全局标志安装它,因为我已经"硬编码"了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');
Run Code Online (Sandbox Code Playgroud)
再次 - 这只有效,因为我假设你在本地安装它,但我想认为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');
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
| 归档时间: |
|
| 查看次数: |
2763 次 |
| 最近记录: |