我正在为Meteor编写一个编译器。我面临的一个问题是我需要将编译器本身包含在包中(用Node.js编写为compiler.js
),然后使用“node”命令执行它:
node compiler.js
包含compiler.js
作为Package.registerBuildPlugin()
的源代码不起作用,因为首先,文件很大(5.6MB),这大大减慢了Meteor的整个执行周期,其次,它是一个纯粹的节点.js脚本,并在Meteor应用程序中包含一些兼容性错误。
我的计划是使用子进程执行上面的节点命令(类似于在TypeScript compiler for Meteor中完成的方式。所以这就出现了我的问题:有没有办法获取compiler.js的路径,所以我可以生成一个节点可执行文件来执行编译器脚本吗?
(Npm.require('fs')
trick似乎不起作用,process.env.PWD
也没有用,因为它们都给出错误的路径。)
任何帮助将不胜感激。谢谢!