在另一个自定义npm软件包中安装自定义npm软件包

时间:2020-05-04 03:45:14

标签: node.js npm

我已经创建了一个npm软件包来安装“ gulp”和“ nunjucks”以及gulp的其他一些功能。并将其发布在名为(程序包名称:xdnunjucks-test)的NPM存储库中。

现在,我已经创建了新项目并尝试安装“ xdnunjucks-test”,然后将其添加到我的新项目中,但是xdnunjucks-test中的所有依赖项都未添加到新项目中。 命令:npm install xdnunjucks-test

-我应该创建一个自定义的NPM软件包以在我的新项目中安装所有依赖项。这将帮助我避免每次都运行xdnunjucks-test中的所有命令。

单个命令可运行多个命令。

这是我的package.json文件的内容。 已发布的自定义NPM命令-package.json:

{
  "name": "xdnunjucks-test",
  "version": "1.0.5",
  "description": "Custom npm command creation",
  "main": "index.js",
  "scripts": {
    "test": "XDNunjucks",
    "start": "npm install gulp",
    "bootstrap-gulp": "npm i bootstrap-gulp",
    "gulp-uglify": "npm install gulp-uglify",
    "gulp-sass": "npm install node-sass gulp-sass",
    "gulp-imagemin": "npm install gulp-imagemin",
    "gulp-minify": "npm install gulp-minify",
    "gulp-livereload": "npm install gulp-livereload",
    "gulp-data": "npm install gulp-data",
    "browser-sync": "npm install browser-sync"
  },
  "keywords": [
    "npm",
    "test"
  ],
  "author": "Anil",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.26.7",
    "gulp": "^4.0.2",
    "gulp-data": "^1.3.1",
    "gulp-imagemin": "^7.1.0",
    "gulp-livereload": "^4.0.2",
    "gulp-minify": "^3.1.0",
    "gulp-nunjucks-render": "^2.2.3",
    "gulp-sass": "^4.0.2",
    "gulp-uglify": "^3.0.2",
    "node-sass": "^4.13.1"
  },
  "dependencies": {
    "bootstrap-gulp": "^2.2.5"
  }
}

新项目package.json:

{
  "name": "n-test-2",
  "version": "1.0.0",
  "description": "",
  "main": "gulpfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "xdnunjucks-test": "^1.0.5"
  }
}

安装“ xdnunjucks-test”命令后。我没有在新项目中获得“ xdnunjucks-test”的功能。

请为此提供帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

xdnunjucks-test 中的所有依赖项仅是“ bootstrap-gulp”“ ^ 2.2.5” 来自devDependency的所有其他依赖项都不会安装在软件包中。

例如,如果您需要在已安装的软件包 xdnunjucks-test 中使用 gulp-uglify -您应将其移至依赖项

devDependencies是:

  • 安装在npm上,安装在包含package.json的目录上,除非您传递--production标志(赞成盖亚·查理斯的回答)。
  • 未安装在npm上,除非给它提供--dev选项,否则请在其他任何目录上安装“ $ package”。
  • 不是临时安装的。

您可以找到有关stackoverflownpm documentation上npm依赖性的更多信息