预发布不按预期工作

时间:2016-11-30 04:58:44

标签: node.js git npm gitlab npm-install

我正在测试npm脚本以构建我的项目依赖项。

我的想法来自https://github.com/ParsePlatform/parse-server,它在存储库中的代码给我留下深刻印象并不意味着npm install之后的node_modules中的代码。

以下是我的testmodule结构

src/index.js
package.json

这是我的package.json内容

{
  "name": "testmodule",
  "version": "1.0.0",
  "description": "",
  "main": "lib/index.js",
  "scripts": {
    "build": "babel src/ -d lib/",
    "prepublish": "npm run build"
  },
  "devDependencies": {
    "babel-cli": "^6.18.0",
    "babel-core": "^6.18.2"
  }
}

这是我在运行npm install testmodule

后期望的结构
node_modules/testmodule/lib/index.js
node_modules/testmodule/package.json

这是src文件夹不应该在这里。

但是在我运行npm install之后,它与我推送到我的git存储库时完全相同。

请注意我在自己的服务器中使用GitLab

所以我的问题是:

  1. 有什么我不想做的预发布运行吗?

  2. 解析服务器代码的哪一部分使得src文件夹和其他文件在安装后不存在?

1 个答案:

答案 0 :(得分:0)

你如何运行npm install

根据documentation on npm scripts,预发布脚本在发布包之前运行。(也可以在没有任何参数的本地npm安装上运行。)“。很明显,预发布脚本仅在npm publishnpm install <local directory>上运行。

如果您尝试通过URL直接从本地gitlab服务器安装,这将工作 - 脚本将不会运行。解决方案是在本地安装,除非你愿意开源你的包装&amp;将它推送到npm存储库或支付私有npm存储库。这是我在开发套件之前所做的事情,然后才准备公开。