Javascript 导入自定义CommonJS模块失败
我通过以下方式在项目a中创建了CommonJS模块:Javascript 导入自定义CommonJS模块失败,javascript,node.js,Javascript,Node.js,我通过以下方式在项目a中创建了CommonJS模块: const{WebElement}=require('selenium-webdriver'); const{By}=require('selenium-webdriver'); 类VlElement扩展了WebElement{ 构造函数(驱动程序、选择器){ ... } 异步getClassList(){ ... } } module.exports=VlElement; 在项目B中,我使用以下代码: const VlElement=re
const{WebElement}=require('selenium-webdriver');
const{By}=require('selenium-webdriver');
类VlElement扩展了WebElement{
构造函数(驱动程序、选择器){
...
}
异步getClassList(){
...
}
}
module.exports=VlElement;
在项目B中,我使用以下代码:
const VlElement=require('projectA');
类VlButton扩展VlElement{
构造函数(驱动程序、选择器){
超级(驱动器、选择器);
}
...
}
module.exports=VlButton;
运行代码时,找不到VLElemlent。
它在我的package.json
中,我可以在projectB>node\u modules>projectA
下看到VLElement。
我的出口产品出了什么问题
提前谢谢。
关于请确保您有一个
projectB/mode\u modules/package.json
和一个main
指向定义/导出VlElement
的文件,如下所示:
"main": "path/to/file/with/VlElement.js",
当您调用require('projectA')代码>必须将其解析为projectA中的文件,以便对其进行评估(并返回)该文件的导出。package.json
中的main
条目允许这样做(但默认为index.js
,因此如果您正在使用它,您可能不需要package.json
,但无论如何都应该拥有它)
您可以有多个具有各种导出的文件,但请记住require('projectA')
仍然只能返回一件事,因此通常的方法是使用一个index.js
,它看起来像:
module.exports={
'something':require('./something.js'),
'otherthing':require('./otherthing.js'),
“etc”:require(“./etc.js”),
};
确保您有一个projectB/mode_modules/package.json,带有一个main
,它指向定义/导出VlElement
@Michael的文件,我没有,但我有多个文件需要导出。我需要制作一个index.js并导出其中所需的所有文件吗?这更复杂:)我给你写了一个答案。我不确定这是你的问题,但你应该知道这一点。