我正在构建自己的包,我的项目中也有一个示例文件夹。我的项目结构是这样的:
- node_modules
- example
-node_modeules
- my-library
-index.html
-index.js
-package.json
- src
-library.jsx
package.json
在示例文件夹中,package.json
文件包含:
"dependencies":{
"my-library":"file:../"
}
当我运行npm install
时,我可以看到我的库已正确构建,然后添加到example\node_modules\
。一切都和预期的一样。
但是,当我使用yarn install
尝试相同的操作时,它不起作用 - 请注意我清除了纱线缓存,因此它不是缓存问题。问题是,当运行yarn install
时,似乎Yarn不尊重我在根文件夹中的package.json,即
在根文件夹中,package.json
文件包含
"name":"my-library"
"version":"1.0.0"
"main":"lib/result.js"
"files":"["lib"]"
告诉npm只在结果包中包含lib
文件夹 - npm正好遵循指令,但似乎Yarn完全忽略了它并将所有放在结果包中。
注意:如果我将我的库发布到npm注册表,然后执行yarn install my-library
一切都按预期工作。
有什么想法吗?
答案 0 :(得分:1)
我鼓励大家试一试。
"main":"lib\lib.js"
"files":["lib"]
在 root \ package.json 中,尝试
dependencies:{
"parent":"file:../"
}
然后在 root \ example \ package.json 中,有
cd root\example\; npm install
测试差异
cd root\example\; yarn install
root\example\node_modues\parent\
比较lib
npm只有select as
个文件夹,但是第一个一切(lib和src)
为什么会出现这种情况?