【发布时间】:2016-11-06 13:49:46
【问题描述】:
我有一个私有库,旨在在两个代码库之间共享。 它的结构如下:
package.json
src/
|_stores/
|_user.js
|_actions/
|_user.js
该项目名为“foo”,我想做如下导入:
require('foo/stores/user');
// OR
import User from 'foo/stores/user';
最好的方法是什么?
我已阅读 this OP,这表明我可以将 package.json 复制到 lib 文件夹中,但它缺少更多详细信息?
我尝试过的事情:
由于代码是 ES2015/React/Flux,我使用 babel 和 gulp 和 prepublish script 在 npm install 上构建一个 lib 目录,如下所示:
package.json
src/
|_stores/
|_user.js
|_actions/
|_user.js
lib/
|_stores/
|_user.js
|_actions/
|_user.js
但是,这只能通过:require('foo/lib/stores/user') 提供内容,因此,我将预发布脚本更改为构建到父目录,从而导致:
package.json
stores/
|_user.js
actions/
|_user.js
src/
|_stores/
|_user.js
|_actions/
|_user.js
但是,在本地开发期间(使用 npm 链接/文件依赖项),这会变得有点混乱。
我还尝试将 package.json 符号链接到 lib 并将 main 设置为指向 lib 但这似乎没有任何作用。
【问题讨论】: