问题标签 [npm-scripts]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何使用 npm 脚本将 typescript 编译成 javascript,然后编译成 1 个文件
我正在尝试使用 1 个watch
脚本来运行 lite 服务器,构建 .ts .js 和 .css 文件。
现在,当我编辑或制作任何新的打字稿文件时,我拥有systemJS
并tsc
生成 .js 文件。
一旦从 .js 生成了这些 javascript 文件tsc:w
,它们就会出现在 dist 文件夹中。一旦它们在那里更新,我想根据 dist 中的 main.js 将它们 uglify 并连接到 1 个 lifeleveler.app.js 文件中。
到目前为止,我无法正确组合上面的任务..
我的文件夹目录
我也认为我的方法是错误的,我可以有 2 个终端窗口。1 看 TSX -> js,另一个看 SASS-> CSS。
最后,当我准备好推送构建时,也许就是我的build:js
任务。
但是我需要替换我的 index.html 文件中的块,你会怎么做?
tsconfig
npm - 如何使用 npm 脚本创建多个输出文件?
我正在尝试 npm 脚本而不是 gulp。我遇到了这个问题,我是否可以有一个 npm 脚本,例如,用 node-sass 编译 scss 文件以用于开发和生产,或者我应该为此目的有多个脚本:
这是我的package.json:
是否可以将我的 scss 任务拆分为具有 dev 和 prod 文件夹的多个输出的单个脚本?
node.js - 将命令行参数传递给 npm 'pre' 脚本和带有多个命令的脚本
有没有办法将命令行参数传递给 npm 'pre' 脚本或运行多个命令的脚本?
假设一个简单的脚本mySexyScript.js
只注销 process.argv :
这有效
使用 npm 脚本:
跑步:
参数按预期记录到控制台。
'pre' 脚本 - 这不起作用
使用 npm 脚本:
跑步:
参数未传递给 mySexyScript 且未记录
多个命令 - 这也不起作用
使用 npm 脚本:
跑步:
参数未传递给 mySexyScript 且未记录
css - 具有多个入口点的 node-sass 脚本
我有一个以 structure.scss 作为主要入口点的项目,然后每个平台都有第二个入口点。文件夹结构:
我的 Npm 脚本:
我希望他观看所有文件并在更改任何文件后编译新文件。他目前正在使用此脚本创建正确的文件...但问题是,他尝试将该文件编译为我对其进行更改的入口点文件,这给我带来了很多控制台错误,因为他没有找到任何变量或类似的东西。最后,我每次都需要对正确的文件进行无用的更改,以获得正确的工作文件......
有没有人为我解决这个问题?
另一个问题是,我无法从任何 platform.scss 覆盖平台 > 全局 > 组件 > login.scss 中的默认混合变量 ...
npm-scripts - 是否可以使用 imagemin-cli 并保持压缩文件的相同文件夹结构?
我正在尝试imagemin
使用 npm 脚本创建脚本并使用imagemin-cli
它。首先,我将文件复制到dist
(或.tmp
用于开发)文件夹,然后使用以下脚本压缩图像:
包.json
因此,当我运行这些脚本时,压缩后所有图像都放在文件夹images/
中。
有没有办法压缩图像并保持文件夹结构?也许与另一个插件或其他东西。
node.js - 在 npm 脚本中使用 nvm 管理节点
背景
- 我想确保无论运行我的项目的机器(非 Windows)如何,它都将始终使用相同的、受控的 Node.js 版本运行。
- 我目前使用 npm 脚本进行构建,如此处所示。
- 我希望能够更新和控制该版本的 Node.js,最好是从我的 package.json 中。
- 我想,但我真的不确定,nvm 是解决这个问题的工具。
- 我已经查看了一些关于 nvm 的 资源,但没有达到我需要 nvm 来做我想做的事情的理解。(这可能是由于我的目的使用了错误的工具?)
问题
我可以编写什么样的脚本来确保运行其余脚本的节点版本是我想要的节点版本?
或者
我应该使用什么工具代替 nvm?是否有关于如何将其用于我的用例的便捷指南?
梦想的例子
我希望做的事情看起来像......
node.js - Uglifyjs 从命令行工作,而不是从 npm 运行脚本?
在我的 package.json 文件中,我有这个脚本:
当我从命令行运行脚本时,它不会创建app.min.js
文件,而只会在屏幕上显示输出
但是,当我像这样直接从命令行运行 uglifyjs 时,它可以工作!
$ uglifyjs src/*.js -o build/js/app.min.js
我努力了:
- 脚本的不同变体
- 确保
./build/js
存在 - 卸载并重新安装 uglify-js
- 删除节点模块并重新运行
npm install
版本
- npm:4.1.2
- 丑陋的js:1.3.5
- 节点:7.2.1
这里有什么问题?
javascript - 是否可以将参数传递给 npm 脚本并使用该内联来设置 ENV_VAR?
示例 npm 脚本:
然后像这样称呼它npm run build prod
这显然行不通,但是还有其他方法可以做到这一点吗?
我知道您可以使用 将标志传递给其他 npm 脚本--
,但我想从命令行执行此操作。
node.js - npm:如何在一个命令中运行多个“监视”脚本?
我在 npm 的脚本中有一个命令:"start": "gulp sass && gulp & http-server"
,gulp
和http-server
都是“持有和观看”命令,所以当我使用 时npm start
,它会挂在gulp
而不继续 exec http-server
。
我怎么能gulp
只http-server
用一个命令运行?请帮我
javascript - 如何传播 npm 脚本命令行参数?
Mypackage.json
很少有以这种方式定义的脚本。
当我执行时$ npm run lint:fix
,我发现参数--fix
不会传播到./node_modules/.bin/standard
. 这是我得到的输出。
这里有一个错误,因为--fix
参数没有正确传播。
好吧,我的问题不在于 linting 或 standardJs。我想知道如何让参数正确传播到顶级脚本。