javascript - 将以此格式声明的函数放入单个 .js 中以包含在其他文件中

标签 javascript node.js import header

我正在使用node.js。我会编写几个 javascript 函数以便在多个文件之间共享。我想将这些函数放入一个文件 tools.js 中。基于中的答案

In Node.js, how do I "include" functions from my other files?

函数需要以这种格式声明(函数表达式);

// tools.js
// ========
module.exports = {
  foo: function () {
    // whatever
  },
  bar: function () {
    // whatever
  }
};

但是我写的函数都是这种格式的;

function foo(a, b, c)
{
    //do whatever
}

我有几个这样的函数。在 tools.js 中将它们全部重新声明为函数表达式是一件苦差事。是否可以让 tools.js 使用以我的方式声明的函数?

最佳答案

是的,但这需要更多工作。

如果您使用的是 Unix,并且您的格式完全如此处所述,您可以使用

sed -e 's/^\(function\)\([ ]\+\)\([a-zA-Z0-9]\+\)/\3: \1/g;s/^\}/\},/g'

交换函数声明并在最后一个括号后添加逗号。也是在最后一个括号之后,但我认为手动删除它并不需要太多工作。

但是,由于您已经在使用 node,您可能会使用以下行中的某些内容(注意:就地工作!):<​​/p>

var fs = require('fs')
fs.readFile(YOUR_FILE, 'utf8', function (err,data) {
  var result;
  // checks&balances omitted
  result = data.replace(/(function)([ ]+)([a-zA-Z-0-9]+)/g,"$3: $1");
  result = data.replace(/^}/g,"},");
  fs.writeFile(YOUR_FILE, result, 'utf8', function (err) {
     // checks&balances omitted
  });
});

(不应该是utf-16吗?)

关于javascript - 将以此格式声明的函数放入单个 .js 中以包含在其他文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33715714/

相关文章:

mysql - Sequelize 将一个表的两列连接到另一个表的同一列

javascript - React-native 无法在导入 js 文件时解析模块

javascript - 如何使用reduce对对象数组的属性进行求和

javascript - dispatchEvent 'mouseover' 不工作

html - 如何在nodeJS中获取多个图像?

Java从其他目录导入

csv - Neo4j 批量导入中作为 int 的 ID 在关系导入中产生错误

javascript - 从数组中获取对象的值并将其与 id 值匹配

javascript - 如何找到一个数字数组的总和

javascript - fs.readFileSync 有时仅在特定情况下返回有效字符串