首页 > 解决方案 > 我的包的 NPM 构建阶段在安装期间未执行

问题描述

我正在开发一个包以通用方式使用网络工作者,但在尝试将其添加为另一个项目的依赖项时发现了一些问题。

通常,我希望在执行此操作时拥有我的构建脚本部分,它将被自动称为生成. 但它似乎没有执行任何操作。我对应该如何工作有任何误解吗?package.jsoninstallrollup.config.jsnpm build

如果不是,则有任何其他冲突脚本package.json导致它在下一个文件示例中不起作用:

{
 "name": "web-threads",
  "version": "1.0.5",
  "description": "generic threads using web workers for the web",
  "main": "dist/web-threads.js",
  "scripts": {
    "build": "rollup -c",
    "test": "jest",
    "test:dev": "jest --watchAll test/unit",
    "test:int": "jest test/integration",
    "test:cov": "jest --coverage && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
    "push": "yarn test && git push",
    "deploy:major": "yarn version --major",
    "deploy:minor": "yarn version --minor",
    "deploy:patch": "yarn version --patch",
    "deploy:push": "git push && git push --tags",
    "preversion": "yarn test"
  },
  "keywords": [""],
  "repository": "",
  "author": "",
  "license": "MIT",
  "private": false,
  "devDependencies": {
    "babel-jest": "23.4.2",
    "babel-preset-env": "1.7.0",
    "babel-preset-stage-0": "6.24.1",
    "coveralls": "3.0.2",
    "faker": "4.1.0",
    "jest": "23.5.0",
    "jest-puppeteer": "3.3.1",
    "puppeteer": "1.7.0",
    "rollup": "0.65.0",
    "rollup-plugin-babel": "3.0.7",
    "rollup-plugin-uglify": "4.0.0",
    "uglify-es": "3.3.9"
  },
  "babel": {
    "presets": ["env","stage-0"]
  },
  "jest": {
    "testMatch": [
      "**/test/**/*-test.js"
    ],
    "transform": {
      "^.+\\.jsx|.js?$": "babel-jest"
    }
  }
}

我还将依赖项移至不存在devDependencies,但它无助于解决问题。

NPM 构建文档:https ://docs.npmjs.com/cli/build

标签: javascriptnode.jsnpmrollupjs

解决方案


您可以尝试添加postinstall脚本。如npm 文档中所述

postinstall:安装包后运行。


推荐阅读