我有一个npm脚本,但我认为这适用于任何bash命令:
node file.js
file.js
的内容对于该问题而言可能是:
console.log('hello')
我想将file.js
的内容 Package 在一些代码中,这样最终的“内容”就是:
console.log('start')
console.log('hello')
console.log('end')
现在,我在一个单独的文件中有开始/结束的东西,我调用它,它依次导入file.js
文件
// wrapper.js
const foo = import('./file.js')
console.log('start')
foo() // or whatever...
console.log('end')
那我叫它:
node wrapper.js
这种方法是可行的,但我尝试消除 Package 文件并直接传递内容-本质上是将2个字符串与文件内容连接起来,然后让node
实用程序像文件一样接受它。(注意,这不是特定于节点cli的)
1条答案
按热度按时间ni65a41a1#
edit:Charles Duffy的评论推荐了一个更简单的解决方案,如果你只想 Package 一个文件,而不需要比这更复杂的东西。
您可以使用
cat
来执行此操作。它利用两个process substitutions(
<( command )
语法)创建临时文件,其中包含要 Package 在脚本周围的内容,然后将这三个文件连接在一起形成一个文件。如果不想将连接的数据写到文件中,可以将整个过程 Package 在另一个进程替换中,并以任何方式将其直接传递给命令。