问题标签 [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.
node.js - PostCSS cli 在解释源映射时遇到来自标准输入的最大行长
我的 package.json 中有一个 sass 编译设置,如下所示:
一段时间以来,这一直运行良好以创建外部源映射。但是最近它因 postcss 引发未关闭的评论错误而失败。有问题的评论是 sourceMappingURL 的开始标签。sourceMappingURL 被 node-sass 嵌入为带有--source-map-embed true
命令的 dataUri,这是源映射完全使用此方法所必需的,因为如果 node-sass 将输出管道输出到 stdout,它似乎不会将它们写入文件.
我猜 dataUri 已经很长了,它达到了某种最大行长度。我不确定这个限制是在 bash(我在 Mac OSX 上)、node.js 还是 postcss-cli 中?是我可以手动增加的东西,还是有其他解决方法?
更新:
经过进一步研究,问题似乎源于read-file-stdin,它从 process.stdin 返回一个不完整的文件。我对节点流不太熟悉,但read-file-stdin
依赖于stream.pipe
读取数据,我相信使用gather-stream将流块收集在一起。但是,这是行不通的。如果我将css
脚本更改为以下内容:以下内容npm run sass -s | test.js
在哪里test.js
:
控制台输出是一个不完整的文件
css - 管道未按预期工作 npm 脚本
我试图通过将转译的 css 作为第一个参数传递给 cssnano 来使用 cssnano 压缩我的 sass 文件。它不工作,因为它只创建一个空白文件。第一个脚本正确运行并创建压缩的 css 文件。这是我的 package.json
javascript - 如何根据另一个输出设置条件 npm 脚本?
这是我之前尝试使用 npm 脚本进行设置时遇到的一个问题,但我无法解决它。甚至不确定这是可能的,最好我希望该解决方案在 Mac 和 Windows 环境中都可以工作。
我正在尝试将我的 npm 脚本的一些逻辑拆分为几个可以相互调用的短脚本。这与变量的结合将使脚本更好地为其他开发人员维护和阅读。
但是我不知道如何在另一个中使用一个 npm 脚本的结果。我几乎不是 bash 专家,所以为什么我在这里寻求帮助(:
在这个例子中,我试图设置一个脚本,允许开发人员轻松启动一个 docker(虚拟)环境。
在 package.json 中:
所以这里我有一个变量,其中包含要运行的 docker 容器的名称:$npm_package_config_docker_container
.
当我这样做npm run container_running
时,如果容器正在运行,这将返回 true,或者如果容器不存在则抛出错误,在这种情况下它将返回echo 'false'
。到目前为止,一切都很好。
现在我希望启动脚本检查容器是否正在运行,如果是,则停止容器并开始新的运行并且它没有运行只是开始新的运行。所以是这样的:
那么问题是如何实现这一目标?作为一个额外的问题,这可以在 Mac 和 Windows 环境中以兼容的方式完成吗?
任何帮助将非常感激!!
node.js - npm-script 钩子上的安静输出
每次我升级包的版本时,我都想将该版本写入文件中以用于构建目的。
我做了一个钩子,这样我就可以在每次抽取版本时postversion
执行我的脚本(通过)。write-version
npm version
包.json
这可行,但我想隐藏它生成的以下输出:
命令行界面
有没有办法做到这一点?
npm - 如何以适用于 Windows 和 linux 的方式遍历 npm 中的文件?
我正在尝试在多个文件上运行单个命令(jshint)。我的 package.json 包含
"lint": "jshint *.js **/*.js"
然而,这在 Windows 上失败得很惨。在 Windows 上,迭代多个文件的语法是
是否有一种简单的、与平台无关的方法来在多个文件上运行单个 npm 脚本(例如 jshint)?
(我对通用解决方案感兴趣。这里有一个使用node-jslint 而不是 jshint 的参考,它确实支持多个文件......但 IMO jshint >> jslint)。
node.js - 在 postinstall 上安装 npm 包
我有一个具有对等依赖关系的npm 包。我写了一个简短的安装后脚本,它会提示用户安装对等依赖项,但它不起作用。
正如您将从下面的输出中看到的那样,看起来 npm正在下载包,但它没有出现在项目的任何地方,package.json
不在node_modules
.
我正在运行 ubuntu 16.04 顺便说一句
这是我安装 npm 包时发生的情况:
这是脚本:
我想在自己的 repo 上拥有这个 postinstall 脚本,以便其他 npm 作者可以轻松地将其复制到他们自己的项目中。
有任何想法吗?这甚至可能吗?
node.js - 更改文件时如何使用 nodemon 在 npm 脚本上重新启动多个服务器文件
当我更改文件夹上的文件时,我想在 npm 脚本中使用 nodemon 重新启动两个服务器文件
这是我的 npm 脚本