1

我需要将 js 文件作为 node.js 模块更友好

它有一堆这样的陈述

function someFunction(jjjj){

他们需要转化为

exports.someFunction = function(jjjj){

如果在代码 someFunction(bla); 中有对 someFunction 的调用,那就更好了。

它也将被 export.someFunction 替换。

4

2 回答 2

3

您可以使用replace-regexp

M-x replace-regexp <RET> \(function\) \(.*\)(\(.*\)){ <RET> export.\2 = \1(\3))

我不确定您是否可以替换调用函数的代码,但是,如果有模式,您可以尝试。

于 2013-05-12T22:43:07.243 回答
1

这是我用键盘宏处理的事情,下面是我用一些评论来做的事情:

  1. C-x (开始录制宏
  2. C-sfunctionRETC-fM-dC-aexports.C-y=M-fC-d这是整个宏。突出显示的文本是您要键入的文本。周围有空格=,但它们不会出现在标记中。
  3. C-x )结束定义宏。
  4. 您现在可以使用C-x e来重复宏(请注意,一旦您看到不想导出的函数 - 您可以简单地将点移过该函数定义)。或者,您可以在 Emacs 会话期间C-x C-k bC-x x将宏绑定到C-x x,这样如果您录制另一个,您可以稍后重新使用它。
于 2013-05-13T13:04:46.707 回答