gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 08:21:48 27 4
gpt4 key购买 nike

我正在使用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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com