我正在使用一个非常出色的 Angular2 小部件库,称为 PrimeNg。
假设 PrimeNg 缺少一些我需要的功能,所以我分叉了 repo 并提交了一个 pull request以将我的更改放入主 repo。在等待拉取请求被接受时,我想在我的 package.json 中包含我的 repo 分支。
我尝试从这里更新我的 package.json:
"dependencies": {
...
"primeng": "1.0.0-beta.13",
...
}
对此:
"dependencies": {
...
"primeng": "JakeSummers/primeng.git#d35f5635a216005018bed89d249816e0f65f68f6",
...
}
不幸的是,这不起作用。
查看我的 node_modules 目录,我们发现它基本上是空的:
[Aug-30 18:04][node_modules]$ tree primeng/
primeng/
├── LICENSE.md
├── package.json
└── README.md
0 directories, 3 files
在更改我的 package.json 之前,该目录包含以下内容:
primeng/
├── components
│ ├── accordion
│ │ ├── accordion.d.ts
│ │ ├── accordion.js
│ │ └── accordion.js.map
│ ├── autocomplete
│ │ ├── autocomplete.d.ts
│ │ ├── autocomplete.js
│ │ └── autocomplete.js.map
│ ├── breadcrumb
│ │ ├── breadcrumb.d.ts
│ │ ├── breadcrumb.js
│ │ └── breadcrumb.js.map
│ ├── button
│ │ ├── button.d.ts
│ │ ├── button.js
│ │ └── button.js.map
│ ├── calendar
│ │ ├── calendar.d.ts
...
├── LICENSE.md
├── package.json
├── primeng.d.ts
├── primeng.js
├── primeng.js.map
├── prod
│ ├── application.js
│ ├── polyfills.js
│ └── vendor.js
└── README.md
62 directories, 195 files
进一步查看package.json 文档,看起来我可能没有这样做
对于非平台特定的构建步骤,例如将 CoffeeScript 或其他语言编译为 JavaScript,请使用 prepublish 脚本来执行此操作,并将所需的包设置为 devDependency。
例如:
{ "name": "ethopia-waza",
"description": "a delightfully fruity coffee varietal",
"version": "1.2.3",
"devDependencies": {
"coffee-script": "~1.6.3"
},
"scripts": {
"prepublish": "coffee -o lib/ -c src/waza.coffee"
},
"main": "lib/waza.js"
}
prepublish 脚本将在发布之前运行,以便用户可以使用该功能,而无需他们自己编译。在开发模式下(即本地运行 npm install),它也会运行此脚本,以便您轻松测试它。
primeNg 项目的 package.json 没有预发布脚本,我正在讨论是否需要添加一个,如果需要如何添加?该脚本何时运行?它会在从 git repo 拉取时运行吗?
任何指针或示例将不胜感激。谢谢!