我正在尝试导出我的 npm 包。如何正确地做到这一点?
I am trying to export my npm package. How to do it properly?
我创建了一个 npm 包
class Person {
constructor() {}
sayHello() {console.log("Hello World!")}
}
module.exports = Person;
完成 npm i my-package
后,它被添加到我的项目中。
在我的 index.js 上,我正在执行以下操作:
const Person = require('my-package');
const david = new Person();
但是我得到这个错误:
Error: Cannot find module '/Users/me/test/node_modules/my-package/app.js'. Please verify that the package.json has a valid "main" entry
当我这样要求时它工作正常:
const Person = require('./node_modules/my-package/person.js');
const david = new Person();
我做错了什么?
如何使用 const Person = require('my-package');
设置我的包以导出 Person
如果您希望能够像 const Person = require("my-package")
那样导入它,您需要默认导出人物 class:
module.exports = Person;
还要确保 package.json 中的 main
属性 设置为您想要的任何根文件。
我的 package.json
文件中的 main 指向 app.js(npm 默认)。
我不得不将其更改为指向我的实际主。
{
"name": "my-package",
"version": "1.0.0",
...
"main": "index.js", // <------ I changed it from app.js to my actual main
...
}
感谢@evolutionxbox 的评论。对我帮助很大。
我创建了一个 npm 包
class Person {
constructor() {}
sayHello() {console.log("Hello World!")}
}
module.exports = Person;
完成 npm i my-package
后,它被添加到我的项目中。
在我的 index.js 上,我正在执行以下操作:
const Person = require('my-package');
const david = new Person();
但是我得到这个错误:
Error: Cannot find module '/Users/me/test/node_modules/my-package/app.js'. Please verify that the package.json has a valid "main" entry
当我这样要求时它工作正常:
const Person = require('./node_modules/my-package/person.js');
const david = new Person();
我做错了什么?
如何使用 const Person = require('my-package');
如果您希望能够像 const Person = require("my-package")
那样导入它,您需要默认导出人物 class:
module.exports = Person;
还要确保 package.json 中的 main
属性 设置为您想要的任何根文件。
我的 package.json
文件中的 main 指向 app.js(npm 默认)。
我不得不将其更改为指向我的实际主。
{
"name": "my-package",
"version": "1.0.0",
...
"main": "index.js", // <------ I changed it from app.js to my actual main
...
}
感谢@evolutionxbox 的评论。对我帮助很大。