标签: npm-scripts

安装软件包时 NPM 安装挂起

我目前正在使用一个项目。它工作正常,但是当我将项目文件(除了node_modules)删除到另一个文件夹或 GitHub 时出现问题,通过 npm 重新安装包不成功。它总是挂在

extract:rxjs: sill extract big.js@3.1.3

我试过npm cache verify没有运气。

这是 packages.json

{
  "name": "esas",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/cdk": "^2.0.0-beta.10",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/material": "^2.0.0-beta.10",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.3",
    "angular2-loaders-css": "^1.0.9",
    "angular2-perfect-scrollbar": "^2.0.6",
    "bootstrap": "^4.0.0-beta",
    "core-js": …
Run Code Online (Sandbox Code Playgroud)

npm rxjs npm-install npm-scripts angular

1
推荐指数
1
解决办法
8847
查看次数

将多个变量传递给 package.json 脚本

我有package.json(不是 BASH,不是 SH,不是 ZSHELL,不是鱼)。

因此,在确定这是我的package.json文件这一事实之后,让我向您展示它:

包.json

  "scripts": {
    "dev": "NODE_ENV=myValue myProgram"
  }
Run Code Online (Sandbox Code Playgroud)

我想在MYVAR=myOtherValue上面的文件中添加更多变量(例如),这是我的package.json文件。我该怎么做(在我的 package.json 文件中添加更多变量)?

让我明确一点,我不想阅读 bash 或 zshell、fish 或 sh 的联机帮助页。这就是为什么我把问题放在这里但没有阅读联机帮助页 - 否则我不会把它放在这里并且会阅读联机帮助页。谢谢你的理解。

environment-variables node.js npm npm-scripts

1
推荐指数
1
解决办法
2941
查看次数

如何使用npm脚本重命名文件

我正在使用copyfiles作为npm,scirpt copyfiles -u 2 /src/app/conf.dev.json dist/config/ 但最后我想将文件重命名

您如何将输入文件重命名为conf.json

我检查了文档,但没有发现可以使用实现copyfiles。有什么想法吗?

更新:我使用NPM跟踪此重命名文件,但在执行npm run copy以下操作时出现错误:

"copy": "copyfiles -u 2 /src/app/conf.dev.json dist/config/ && node -e require('fs').rename('dist/config/conf.prod.json','dist/config/conf.json')"
Run Code Online (Sandbox Code Playgroud)

fs.js:137抛出新的ERR_INVALID_CALLBACK(); ^

TypeError [ERR_INVALID_CALLBACK]:回调必须是一个函数

node.js npm npm-scripts

1
推荐指数
1
解决办法
2411
查看次数

将 git commit 消息传递给 npm 脚本并附加到预定义的字符串

在 NPM 项目中,我想为每个构建版本提交一个提交。这将使我能够返回到当前的构建版本,修复错误,而无需通过新版本的所有 QA。

我们可以使用这样的 npm 脚本进行提交(请参阅此答案):

包.json

"scripts": {
  "git": "git add . && git commit -m",
}
Run Code Online (Sandbox Code Playgroud)

然后通过运行来调用脚本:

npm run git -- "Message of the commit"
Run Code Online (Sandbox Code Playgroud)

我想在 npm run build 之后自动运行它。为此,我们可以创建一个新命令。

包.json

npm run git -- "Message of the commit"
Run Code Online (Sandbox Code Playgroud)

这可以使用运行 npm run buildAndCommit -- "commit for a new build"

唯一剩下的就是我想将此提交标识为可以链接到提交的提交。是否可以使用“ BUILD -”自动启动消息并将在命令行中传递的唯一消息添加到该消息中?就像是:

包.json

"scripts": {
  "buildAndCommit": "npm run build && git add . && git commit -m",
}
Run Code Online (Sandbox Code Playgroud)

如果无法在package.json 中对字符串进行模板化,我如何使用命令行脚本来实现它?(Powershell 是我的命令行工具)。

command-line npm npm-scripts

1
推荐指数
1
解决办法
2404
查看次数

npm not running scripts in package.json

The problem is that when I do npm start OR npm run customScriptCommand npm just not doing anything with the project and quickly just return new line in the terminal.

我已经尝试从我的机​​器上删除 node 和 npm,然后为 node 和 npm 进行 brew 安装,但它没有解决问题。

然后我尝试从 brew 安装中删除 node 和 npm 并从 nvm 再次安装它,但它也没有解决问题。

新产品详情

npm -v -> 6.11.3
which npm -> /usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)

NodeJS 详细信息

node -v -> v12.12.0
which node ->/usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)

package.json 中的脚本

"scripts": {
    "start": "node ./bin/www",
    "devstart": "DEBUG=app-name:* nodemon ./bin/www", //I've changed …
Run Code Online (Sandbox Code Playgroud)

javascript node.js npm npm-scripts

1
推荐指数
1
解决办法
3898
查看次数

如何使用 package.json 运行 ts 脚本?

我尝试仅使用 package.json 文件运行打字稿文件。因此,运行打字稿文件的最低设置。

我只有一个单文件:index.ts:

console.clear();
console.log("nic to see you!!");
Run Code Online (Sandbox Code Playgroud)

和 package.json 文件:


{
  "name": "Todo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}


Run Code Online (Sandbox Code Playgroud)

但如果我尝试这样做:

npm start,我会收到这个错误:

Error: Cannot find module 'D:\Mijn Documents\UDEMY\TypeScript\Todo\index.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Todo@1.0.0 start: `node …
Run Code Online (Sandbox Code Playgroud)

javascript typescript package.json npm-scripts

1
推荐指数
1
解决办法
5664
查看次数

在 npm preversion 脚本中获取版本

我正在尝试获取我在 npm preversion 脚本中创建的版本。

如:

{
    "scripts": {
        "preversion": "echo $version"
    }        
}
Run Code Online (Sandbox Code Playgroud)

但是我找不到要写什么来代替$version.

我想在我做的时候得到我正在创建的版本npm version <something>。例如,如果我这样做npm version 1.0.1,我想获得1.0.1. 但是如果npm version minor我在 version 时这样做1.0.0,我想得到1.1.0.

node.js npm npm-scripts

1
推荐指数
1
解决办法
697
查看次数

NPM Parallelshell 不工作,显示错误

我试图按照我的课程中描述的那样一起运行 npm lite server 和 onchange for scss,但出现错误......尝试运行 npm start with package.json 包含脚本为 -

"scripts": {
    "start": "npm run watch:all",
    "test": "echo \"Error: no test specified\" && exit 1",
    "lite": "lite-server",
    "scss": "node-sass -o css/ css/",
    "watch:scss": "onchange \"css/*.scss\" -- npm run scss",
    "watch:all": "parallelshell \"npm run watch:scss\" \"npm run lite\""
  }
Run Code Online (Sandbox Code Playgroud)

我没有正常工作,而是收到以下错误 -

> confusion@1.0.0 start F:\Courses\Full-Stack Web Development\Bootstrap4\conFusion
> npm run watch:all


> confusion@1.0.0 watch:all F:\Courses\Full-Stack Web Development\Bootstrap4\conFusion
> parallelshell "npm run watch:scss" "npm run lite"

child_process.js:430
    throw …
Run Code Online (Sandbox Code Playgroud)

npm npm-scripts npm-package

1
推荐指数
1
解决办法
1269
查看次数

如何通过 npm CLI/API 获取已安装的 npm 包的路径?

我正在编写一个 npm 脚本,它被打包为一个 npm 包,将主要的可执行文件暴露node_modules/.bin给它的托管项目。

此脚本有自己的 npm 依赖项,并且由于脚本流依赖于将这些依赖项之一复制到不同位置,因此它需要知道该依赖项安装在哪里。

我如何找到(通过 API 或 npm CLI)在主机内部安装的依赖项在node_modules哪里?

node.js npm npm-scripts

0
推荐指数
1
解决办法
660
查看次数

Laravel 混合脚本不观察变化

我使用 webpack 对正在更改的文件运行监视.js,但我需要在项目中使用通配符而不是特定文件名。我目前正在使用下面的命令,它工作正常,并在我运行时编译所有预期的文件npm run watch,但在我直接在任何文件中进行更改后,它永远不会再次运行。我必须停止观看并一次又一次地重新运行相同的命令。我有什么遗漏的吗?

const mix = require('laravel-mix');

mix.scripts([
    'resources/js/vendor/**/*.js',
    'resources/js/modules/**/*.js',
    'resources/js/plugins/**/*.js'
], 'public/js/site.js');
Run Code Online (Sandbox Code Playgroud)

打包文件:

{
"private": true,
"scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "npm run development -- --watch",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
    "autoprefixer": "^9.7.6",
    "bulma": "^0.9.0",
    "cross-env": "^5.1",
    "laravel-mix": "^4.0",
    "laravel-mix-purgecss": "^4.1.0",
    "node-sass": …
Run Code Online (Sandbox Code Playgroud)

npm laravel webpack npm-scripts laravel-mix

0
推荐指数
1
解决办法
2673
查看次数

无法在 npm 脚本中正确配置 Autoprefixer

我正在尝试配置 PostCSS Autoprefixer 但它不起作用。style.prefix.css它应该在同一个“css”文件夹中输出新文件。请帮助我理解我的 npm 脚本/设置有什么问题

这是我的 package.json

{
  "name": "sb-demo-website",
  "version": "1.0.0",
  "description": "demo website",
  "main": "index.js",
  "scripts": {
    "sass": "node-sass-chokidar sass/main.scss css/style.css -w --recursive --skip-initial",
    "compile-sass": "node-sass-chokidar sass/main.scss css/style.comp.css",
    "prefix-css": "postcss css/style.comp.css -o css/style.prefix.css --use autoprefixer"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "author": "tk",
  "license": "ISC",
  "bugs": {
    "url": ""
  },
  "homepage": "",
  "browserslist": "last 3 versions",
  "devDependencies": {
    "autoprefixer": "^10.0.0",
    "node-sass": "^4.14.1",
    "node-sass-chokidar": "^1.5.0",
    "postcss": "^8.0.5",
    "postcss-cli": "^7.1.2"
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我运行脚本时的输出:

$ npm …
Run Code Online (Sandbox Code Playgroud)

npm autoprefixer postcss npm-scripts

0
推荐指数
1
解决办法
1300
查看次数

当用户安装 TypeScript 模块时,如何使用 npm install 将其编译为 JS?

我构建了一个 TypeScript 模块并将其推送到 GitHub。我现在想在我的内部使用这个模块MyApp作为依赖项,它也是用 TypeScript 编写的。该包已在我的中注册MyApp/package.json

  "dependencies": {
    "foo": "github:organization-xyz/foo",
  }
Run Code Online (Sandbox Code Playgroud)

我添加了一个命令build-tsJavaScript在我的foo模块中创建相应的绑定foo/package.json

  "scripts": {
    "build-ts": "tsc"
    ...
  },
Run Code Online (Sandbox Code Playgroud)

当然,当我调用npm i主应用程序时,不会执行该命令。我如何正确准备我的模块foo才能将其成功导入到我的应用程序中?

node.js typescript npm-publish npm-install npm-scripts

0
推荐指数
1
解决办法
3543
查看次数