这是我第一次发布NPM包,我感觉自己像个新手。我的基本导入不起作用,无论是在模块内部还是在尝试从外部引用包中的特定文件时。整个npm发布->npm安装部件按预期工作。
文件结构为/lib目录,带有/lib/data-types目录。带有导出对象的主文件活在lib中;"助手";文件存在于数据类型中。
- index.js, etc
- /lib
-- connection.js
-- session.js
-- /data-types
--- point.js, etc
我有一个index.js file
,它只是其他一些对象的通行证:
import Connection from "./lib/connection.js"
import Session from "./lib/session.js"
export default {
Connection,
Session,
}
我已经在package.json:中定义了主要导出和数据类型
{
"name": "ef-vue-crust",
"type": "module",
"main": "index.js",
"exports": {
"." : "./index.js",
"./data-types/": "./lib/data-type/*.js"
},
...
}
除了前面提到的内部断开连接之外,我的应用程序的基本导入似乎可以工作,即import {Connection} from 'ef-vue-crust'
。index.js无法找到以下文件:
import Connection from "./lib/connection.js"
import Session from "./lib/session.js"
找不到模块:错误:无法解析'/lib/session.js位于"C:\Projects\my app\node_modules\ef vue crust"中
直接从./lib/data-type/
目录导入文件在我的应用程序中也有同样的问题:
从'@ef-vue-crust/data-types/Point.js'导入点;
有人看到断开了吗?
第1部分:在index.js.中将export default {}
更改为export {}
第2部分:看起来我在导出中缺少了一个*
:
{
"name": "ef-vue-crust",
"type": "module",
"main": "index.js",
"exports": {
"." : "./index.js",
"./data-types/*": "./lib/data-type/*.js"
},
...
}
最后:我在进口产品中有一些完全不匹配的字符串,一旦解决了上述问题,这一点就变得很明显了。
所以我想答案是";注重细节";