gpt4 book ai didi

node.js - 使 npm 包子模块可用

转载 作者:行者123 更新时间:2023-12-03 22:15:57 26 4
gpt4 key购买 nike

我有一个私有(private)库,打算在两个代码库之间共享。
它的结构如下:

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 我正在使用 babelgulpprepublish script建立一个 lib npm install上的目录看起来像这样:
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 符号链接(symbolic link)到 lib和设置 main指向 lib但这似乎没有做任何事情。

最佳答案

事实证明,我试图做的事情违背了惯例。自从写了这个问题以来,我注意到大多数库通过 package/lib/dep 引用它们的依赖项。 .所以简而言之,我做了以下问题中提到的:

使用带有 prepublish 的 webpack(或 babel 和 gulp)在 npm install 上构建 lib 目录的脚本,如下所示:

package.json
src/
|_stores/
|_user.js
|_actions/
|_user.js
lib/
|_stores/
|_user.js
|_actions/
|_user.js

这将允许您执行以下操作: require('foo/lib/stores/user')

关于node.js - 使 npm 包子模块可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38191329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com