Mid*_*orm 5 node.js npm npm-install npm-scripts
我有一个用于内部git服务器上托管的常见组件的npm软件包。由于某种原因,当我调用npm install另一个项目时,我想在其中使用它将不会运行该prepare挂钩。显然,这不起作用,因为npm软件包需要/distnode_modules中的文件夹才能使用该软件包。
我已经尝试过诸如使用不赞成使用的prepublish钩子之类的方法,即使这样也不会被调用。我还尝试做postinstall一下看是否可以在安装后进行构建,但是该钩子确实被称为失败,因为未安装devDependencies
package.json
{
"name": "common-components",
"version": "0.1.0",
"scripts": {
"prepare": "npm run build",
"build": "ng build",
...
},
"private": true,
"dependencies": {
...
},
"devDependencies": {
...
},
}
Run Code Online (Sandbox Code Playgroud)
用于安装的命令
npm install --save git+ssh://{URL-to-common-components-repo}}
Run Code Online (Sandbox Code Playgroud)
我已经通读了npm-scripts文档https://docs.npmjs.com/misc/scripts,似乎他们坚持认为prepare对于此确切用例应始终调用钩子
就像我注意到的那样,我在NPM社区https://npm.community/t/using-npm-ci-does-not-run-prepare-script-for-git-modules/632/4上发现了这个错误。
我正在使用npm 6.4.1,它应该根据错误工作
对于那些想知道其现状的人。我无法让它发挥作用。我最终所做的是将组件托管在私有 npm 注册表上,并且效果很好,因为该npm publish命令将执行构建并仅发布 dist 文件夹
最近在一个包上检查了我的一件事 - 如果有 .gitignore 而不是 .npmignore npm 可能会忽略您的 /dist 文件夹。在这种情况下,添加一个空的 .npmignore 有效。
“如果没有 .npmignore 文件,但有 .gitignore 文件,那么 npm 将忽略与 .gitignore 文件匹配的内容。如果您想包含 .gitignore 文件排除的内容,您可以创建一个空的 .gitignore 文件。 npmignore 文件来覆盖它。”
来自https://docs.npmjs.com/misc/developers
| 归档时间: |
|
| 查看次数: |
370 次 |
| 最近记录: |