2017-04-14 70 views
4

我想贡献一个开源React组件,我想在我的webpack包中使用该项目的一个分支。使用yarn + webpack从叉子安装npm包 - 无法解析'./dist/

我使用的纱线和我尝试使用

yarn add github:Startouf/react-coverflow 

但是安装我的叉子时的WebPack试图编译我的包,它提出了奇怪的错误

ERROR in ./~/react-coverflow/main.js 
Module not found: Error: Can't resolve './dist/react-coverflow' in '/Users/Cyril/dev/MyApp/client/node_modules/react-coverflow' 

我错过了什么?

编辑:当我使用发布包从NPM,节点模块文件夹包含

LICENSE  README.md dist  main.js  package.json 

当我使用我的叉子,好像这个项目没有被编译并包含

LICENSE   README.md  package.json  src   webpack.config.js 
Makefile  main.js   site   test 

似乎我错过了一个步骤...我虽然做纱线添加与github叉会自动发布,但似乎我是错的?

+0

我猜叉失去了一些东西。尝试检查和打开问题。 –

+0

@TatsuyukiIshi即使在没有额外提交的同一个项目的分支上它不起作用(当然主要回购工作正常) –

回答

3

不幸的是,直接使用存储库作为源可能导致执行错误。这是因为它没有捆绑在一起,而包需要预编译版本存在于dist。绑定脚本通常在将发布发布到npm之前执行。

一些解决方法是:

  • 执行在目标目录中的prepublish步骤(这取决于 什么项目使用),当然
  • ,使用公布的版本是最好的。在npm上创建你自己的包并上传它。

参考文献:npm issue

+0

谢谢!我只是编辑添加这个信息,我会看看你的链接。如果只是为了调试,我可以在本地运行脚本,但是我希望保留自己的分支直到PR通过,所以我想我必须按照你的说法释放我的软件包,如果我希望能够在生产中使用它:'( –

+0

)您可以详细说明预发布所需的步骤吗?我尝试在node_module目录中cd,运行package.json中的'yarn'和'yarn run prerelease'。 'm当前停留在构建项目,因为它使用注释,我显然没有预处理器,但我想检查我正在做的事 –

+0

'prerelease'应该做这项工作。你目前的错误是什么? –