纱线不能正确地build立本地包装
我正在构build我自己的包,我也有一个在我的项目中的示例文件夹。 我的项目结构是这样的:
- 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
,我可以看到我的库已经正确构build,然后添加到example\node_modules\
。 一切都如预期一样。
然而,当我尝试yarn install
相同的事情,它没有工作 – 注意我清除了Yarncaching ,所以这不是一个caching问题。 问题是,当运行yarn install
,似乎纱不尊重我的package.json根文件夹,即
在根文件夹内 , package.json
文件包含
"name":"my-library" "version":"1.0.0" "main":"lib/result.js" "files":"["lib"]"
它告诉npm只在结果包中包含lib
文件夹–npm正好遵循这个指令,但似乎Yarn完全忽略了它,并把所有的东西放在结果包中。
注意:如果我将我的库发布到npmregistry,然后做yarn install my-library
一切都按预期工作。
有任何想法吗?
我鼓励大家试一试。
-root - example -package.json -lib -lib.js -src -test.js package.json
在root \ package.json中 ,请尝试
"main":"lib\lib.js" "files":["lib"]
然后在root \ example \ package.json中有
dependencies:{ "parent":"file:../" }
来testing差异
-
cd root\example\; npm install
-
cd root\example\; yarn install
比较root\example\node_modues\parent\
npm一个只有lib
文件夹,但是纱线有一切 (lib和src)
为什么是这样的情况?