相关疑难解决方法(0)

从Github安装时自动构建NPM模块

鉴于项目的lib/目录不应该被检入Git,因为它包含的文件是派生文件(来自构建过程).当(在开发为例)安装从项目的github上一包lib/目录将不存在,因此,如果包的package.jsonmain场点(例如)lib/index.js,包无法导入当编译,因为存储库中不存在这些文件因此在安装到的包中node_modules.这意味着需要构建软件包(就像在发布之前一样),只在本地这一次,以便将lib目录(或在构建过程中生成的任何其他文件)添加到模块的目录中.

假设文件的字段中有一个build脚本,是否可以将包配置为在仅从github安装它的情况下自动运行它?如果没有,从github安装时确保构建它的最佳方法是什么?package.jsonscripts

现在有prepublish,prepublishOnly而且prepare生命周期挂钩,但没有提供一个答案,这个问题,因为他们不允许任何方式的安装源进行区分.简而言之,是的,它们允许您构建安装,但它们不允许您仅从github构建安装.当人们从npm安装时,不仅没有理由强制构建,更重要的是,不会安装开发依赖项(例如babel,这对构建至关重要).

我知道有一个策略可以解决这个问题:

  • 回购/分支回购
  • 在本地建立
  • 删除lib/目录.gitignore并检入.
  • 从fork/branch安装模块
  • 当你准备好PR/rebase添加lib/dir .gitignore并从git中删除dir.

但这远非理想.我想这可以通过githook实现自动化.因此,每一个你掌握项目的人都会建立并推动到一个单独的分支.

NPM的Github上有一个封闭的问题没有解决方案 - 只有很多人想要一个解决方案.从这个问题可以清楚地看出,使用prepare不是答案.

我的用例是我正在开发一个用于许多其他项目的模块.我想使用最新版本的模块而不必在每次更新代码库时都向NPM推出一个版本 - 我宁愿在我准备好时推出更少的版本,但我仍然需要使用最新版本的lib在Github上.

注意:我也就此问题与NPM的支持联系,如果收到,我会添加他们的回复.

javascript build github package npm

45
推荐指数
3
解决办法
7809
查看次数

从 git/github 安装 npm 包 - 找不到模块:错误:无法解析“dom-helpers/class”

我正在尝试React.js通过 git/github安装包。

直接通过 npm 安装包可以工作。不幸的是,react-bootstrap/dom-helpers有一个错误,并且存储库所有者/创建者不愿意合并修复。

所以我创建了我自己的repo并应用了手动修复。然后我想通过 git/github 安装它(比创建 npm 包并分发它更快 - 我不知道如何做到这一点)。

所以我添加了一行到我的package.json

  "dependencies": {
    [...]
    "dom-helpers": "git://github.com/GovPredict/dom-helpers.git",
Run Code Online (Sandbox Code Playgroud)

然后我发现这个 repo 很差package.json(它没有 uesfiles选项等),当你通过安装它git然后检查路径

./node_modules/dom-helpers/
Run Code Online (Sandbox Code Playgroud)

你找到没有源代码的目录(只有默认包含的文件:LICENSE,README.md存在)。

我做了一些改变,它几乎可以工作了......

我说几乎,因为它看起来webpack没有加载 repo 或者......package.json仍然有错误。

当我运行 webpack 开发时,我有

ERROR in ../~/react-big-calendar/lib/Agenda.js
Module not found: Error: Can't resolve 'dom-helpers/class' in '/Users/maciejkowalski/projects/SomeProject/node_modules/react-big-calendar/lib'
resolve 'dom-helpers/class' in '/Users/maciejkowalski/projects/SomeProject/node_modules/react-big-calendar/lib'
  Parsed request is a module
  using description file: /Users/maciejkowalski/projects/SomeProject/node_modules/react-big-calendar/package.json …
Run Code Online (Sandbox Code Playgroud)

git github npm reactjs package.json

6
推荐指数
0
解决办法
2267
查看次数

使用纱线+ Webpack从叉子安装npm软件包-无法解析'./dist/

我想为开源React Component贡献力量,我想在我的webpack捆绑包中使用该项目的分支。

我正在使用毛线,并且尝试使用

yarn add github:Startouf/react-coverflow
Run Code Online (Sandbox Code Playgroud)

但是,当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'
Run Code Online (Sandbox Code Playgroud)

我错过了什么 ?

编辑:当我使用从npm发布的程序包时,节点模块文件夹包含

LICENSE     README.md   dist        main.js     package.json
Run Code Online (Sandbox Code Playgroud)

当我使用fork时,似乎该项目未编译且包含

LICENSE         README.md       package.json        src         webpack.config.js
Makefile        main.js         site            test
Run Code Online (Sandbox Code Playgroud)

好像我错过了一步...虽然我用github叉子做yarn add会自动发布,但好像我错了吗?

reactjs webpack webpack-2 yarnpkg

5
推荐指数
1
解决办法
1841
查看次数

标签 统计

github ×2

npm ×2

reactjs ×2

build ×1

git ×1

javascript ×1

package ×1

package.json ×1

webpack ×1

webpack-2 ×1

yarnpkg ×1