gpt4 book ai didi

node.js - 如何将外部库导入nodejs

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:39 27 4
gpt4 key购买 nike

我想知道如何将外部库导入 nodejs。例如,我想要 phanotmjs 库(我知道女士们存在一个 npm 来获取 phantomjs,但这只是一个例子)。

我认为一种方法是获取库的源文件并将其包含到这样的模块中:

module.exports = function (name, cb) {
//source code of library
});

但我认为这是一种错误的做法。

如何将外部库包含到 nodejs 项目中,以便在项目中使用它的功能?

谢谢

最佳答案

在不导出的情况下,一种不优雅的方法是复制整个库,位于 Node 文件的底部。讨厌你可能已经想到了。这也有不好的地方。您将无法在所有不同的文件中重复使用它。

另一种方法是在您每次需要某个功能时沿着您的工作流程导出文件。我认为这没问题。

否则要回答这个问题,您可以这样写导出:

module.exports = {
removeElementFromArray_Mutate,
hasClass,
hasClass_ONEtest,
removeClassFromAll,
addClass,
removeClass
};

你可以用 Node 来做到这一点。所有这些都是以这种方式声明的正常函数:

function removeClassFromAll(DOMobject, classes){
for(let i = 0; i < DOMobject.length; i++){
removeClass(DOMobject[i], classes);
}
}

function hasClass_ONEtest(DOMElement, classe) {
let allClasses = DOMElement.className.split(/\s+/);
for(let i = 0; i < allClasses.length; i++){
if(allClasses[i].trim() === classe){
return true;
}
}
return false;
}

function hasClass(DOMElement, classes) {
if (typeof classes === 'string') {
return hasClass_ONEtest(DOMElement, classes);
} else { // multiple classes as array
for (let i = 0; i < classes.length; i++) {
if (!hasClass_ONEtest(DOMElement, classes[i])) {
return false;
}
}
return true;
}
}

如果您不能手动执行此操作,您可以通过这种方式编写一个快速脚本来解析所有文件,并取出函数的定义。您可以使用正则表达式来加快速度。你需要两种模式。第一个用于 function name(,第二个用于 name = function(。希望对您有所帮助!

问题更多是关于 nodejs 是否包含一种方法。目前没有。可能在未来。您可能还会看到这个 How do I include a JavaScript file in another JavaScript file? .但这可能无济于事。

关于node.js - 如何将外部库导入nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23641631/

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