Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何将我的package.json指向我的primeNg的fork?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为Angular2使用一个非常优秀的小部件库,名为PrimeNg.

假设PrimeNg缺少我需要的一些功能,所以我分叉回购并提交一个
@L_502_0@让我的变化进入主力
回购.当我在等待拉取请求被接受时,我想包括我的分支
我的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 docs,看起来我可能不会这样做

{ "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"
}

primeNg项目的package.json没有预发布脚本,我在讨论是否需要添加一个,如果是这样的话怎么样?该脚本何时运行?它会在git repo的拉动下运行吗?

任何指针或示例将不胜感激.谢谢!

Cross-posted this question to the PrimeNg git repo.

解决方法

问题是你在Typescript中有源代码,但你需要在Npm包中编译Js.不幸:

> .npmignore文件excludes所有打字稿来源;
> typescript编译器在devDependencies中,这意味着它不会被npm install –production拉出;
>无需自动编译的preublish或posTinstall脚本.

您可能会从这些点看到解决方案的内容;几点想法:

>编译并检查生成的.js文件到git仓库;
>使用prepublish脚本编译为npm publish的一部分;
>编译为npm install的一部分:

>从.npmignore中删除.ts文件;
>将所有内容从devDependencies拉到依赖项中;
>添加posTinstall脚本.

一个选项最容易实现,但也最@R_5_10197@ – 在提交之前很容易忘记运行编译步骤,因此您可能希望将其添加到git hook中.但在那时,你最好选择第二或第三.

如果您决定使用自己的第二个并使用自己的fork进行设置,请确保在安装软件包时执行预发布脚本.

从Github安装*

看起来你提到的npm安装是正确的,尽管我会提倡更明确的格式:

// The thing that actually gets saved into `package.json`:
github:${usernamE}/${repository}#${optional-iD}

// So the command would be:
npm install github:JakeSummers/primeng#d35f5635a216005018bed89d249816e0f65f68f6

* npm还支持从自己的registry和github以外的地方安装,如果你很好奇的话,看看here的“包”是什么.

大佬总结

以上是大佬教程为你收集整理的node.js – 如何将我的package.json指向我的primeNg的fork?全部内容,希望文章能够帮你解决node.js – 如何将我的package.json指向我的primeNg的fork?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。