我有一个当前正在客户端使用的外部.js文件。这个文件中有很多函数,我目前使用的格式如下:
function test()
{
return "Hello World";
}我想要做的是包含这个文件,并从node.js脚本调用这些函数,而不必更改外部文件中的语法。外部文件主要是jQuery。我尝试了几种不同的方法,都失败了。我看到的大多数内容都告诉我,这是不可能的,因为语法不正确,应该这样格式化:
exports.test = function()
{
return "Hello World";
}必须有一种方法让我不复制所有这些函数,这样,如果我正确调用外部文件,它将继续在客户端和服务器端工作。救命!
发布于 2012-01-26 00:22:47
我的直觉告诉我,你已经做的研究是正确的-你不能直接重用文件。
我不是一个经验丰富的Node开发人员,所以我可能说得不合时宜,但话虽如此,请尝试使用正则表达式find/replace,以避免手动调整文件。如果您在JavaScript本身中执行此操作(多么合适),它可能看起来如下所示:
var inputFile = 'function test()'; // ... your entire input file
var outputFile = inputFile.replace(/function *([a-z][_a-z0-9]*) *\((.*?)\)/i, 'exports.$1 = function($2)');如果你需要,这里有很多关于正则表达式的好信息:http://www.regular-expressions.info/
您可能必须调整此替换的正则表达式,并且可能必须运行几个不同的替换模式才能使您的JavaScript在节点中执行。同样,我的建议可能适用于经验丰富的Node开发人员,但这只是一个想法。
https://stackoverflow.com/questions/9005962
复制相似问题