问题标签 [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.
npm - 如何从 npm “postinstall” 钩子中获取包名?
Npm 提供了一种在安装每个包后执行自定义可执行文件或脚本的方法(请参阅Hook Scripts)。
这是我写的一个小钩子脚本:
hook-test-npm/node_modules/.hooks/postinstall
然后我以通常的方式安装了一个包:
然而结果并不像我希望的那样:
刚刚安装的包的名称(“some-package”)似乎没有作为我的可执行挂钩的参数提供。
有没有办法从钩子中访问这些信息?
angular - .Net Core / Angular CLI - NPM 构建自动化(html 到 cshtml)
我正在使用 Visual Studio 2017 中的 npm 脚本使用 .Net Core (netcoreapp1.1) 和 Angular CLI (1.0.1) 开发构建过程。
是否可以编写 npm 脚本以获取 Index.html 正文标记的内容(来自 Angular CLI 创建的文件)并将其放入 .cshtml 文件的正文中?
理想情况下,我想专门使用 npm 脚本并远离 Gulp,但如有必要,我可以接受 Gulp 解决方案。
澄清更新:我的目标是将 Angular CLI 创建的 Index.html 文件中的必要脚本包含到预先存在的 cshtml 视图中,该视图具有我需要保留的一些代码。
如果需要创建一个新文件,有没有办法从两个现有文件(html 和 cshtml)中解析数据并将它们合并为一个?我真的只需要将html正文中的脚本添加到我的视图中。
javascript - 如何通过 npm 更改用于引导 reactJs 的默认配置文件
我使用create-react-app
命令创建了一个非常基本的 hello world reactJs 应用程序,它是 npm 的一部分。这是我作为应用程序模板的一部分获得的目录结构:
我的package.json
文件如下所示:
我观察到,每次执行npm run build
命令时,它都会使用目录中的index.html
存在和目录中的存在来创建目录中的最终生产版本。我确信这是因为所有内部管道都通过 npm 发生。有人可以帮助我了解这是如何发生的,以及如何将这些目标文件更改为我自己的名为(存在于目录中)和(存在于目录中)的自定义文件?public
index.js
src
build
HelloWorld.html
public
myApp.js
src
javascript - 如何使用 npm 从命令行配置 API?
我的移动应用程序指向生产 URL,该 URL 硬编码在三个不同的 javascript 文件中。能够使用命令行配置 URL
- 我已经向具有默认生产 url( )
base_url
的文件添加了一个新的配置属性。package.json
http://www.production.com
- 然后在运行移动应用程序之前设置一个
config
属性 ( ) 值,base_url
npm set config base_url
http:www.new_url.com
- 最后使用访问所有三个 javascript 文件中的 base_url
var API_URL = process.env.npm_package_config_base_url;
问题:
process.env.npm_package_confi_base_url
正在回归undefined
。有没有办法在 npm 脚本中传递 url,例如
npm run configure_api --base_url
,
这将config.base_url
使用值更新,例如http://www.domain.docker01.com
,我可以在所有 javascript 文件中访问?
包.json
谢谢你。
node.js - 如何在节点 6.10.1 中使用 npm 安装所有依赖项
问题:如果我运行以下命令
仅安装 package.json 文件中“依赖项”部分中提到的包。“devDependencies”中的那些没有被安装。为了安装“devDependencies”,我需要运行以下命令:
我的问题是,有没有一种方法可以通过一个命令来安装两者(我知道我可以通过定义一个 npm 自定义脚本来做到这一点,但我不喜欢那个解决方案)。
注意:我的节点版本是 6.10.1 这个问题在我升级到 6.10.1 后开始出现
bash - 使用 node-sass 和 autprefixer 的 npm 脚本导致 browser-sync 运行两次
我有以下 npm 脚本设置来完成我所有的 scss 和 js linting、编译和捆绑。它们确实有效,但是似乎还有改进的余地。
目前,当我观察更改并保存 scss 文件时,浏览器同步会触发两次。这是由于 node-sass 运行并更改文件,然后 autoprefixer 运行并更改同一文件。(为完整起见,输出如下)
当然我可以合并这些并更改一次文件并让浏览器同步触发一次?
谢谢
node.js - Windows 上的节点环境变量
我注意到这种奇怪的行为,这并不是什么大不了的事,但却让我很恼火。
在我的 package.json 文件中,在“脚本”部分下,我有一个“开始”条目。它看起来像这样:
在 Mac 终端上打字npm start
工作正常,nodemon 按预期使用正确的 APPLICATION_ENV 变量运行应用程序。当我在 Windows 环境中尝试相同的操作时,我收到以下错误:
“'APPLICATION_ENV' 不是内部或外部命令、可运行程序或批处理文件。”
我已经尝试过 git-bash shell 和正常的 Win CMD 提示符,同样的处理。
我觉得这很奇怪,因为直接在终端中输入命令(而不是通过 npm start 通过 package.json 脚本)工作正常。
有没有其他人看到这个并找到解决方案?谢谢!!
javascript - NPM 脚本后挂钩未触发
我正在使用 npm 脚本进行测试,以最终消除对 Gulp 的依赖。我只是从一个名为watch
. 该脚本最终将运行所有以该watch
名称开头的脚本;例如watch:styles
。我的watch:styles
脚本将使用 node-sass 将我的 sass 文件编译成 CSS。这行得通。但是,我的下一步是创建一个postwatch:styles
脚本,.css
通过 PostCSS 和 Autoprefixer 运行新创建的文件。
但是,问题是我的postwatch:styles
钩子永远不会被触发运行。
包.json
关于为什么我的帖子挂钩没有触发的任何建议或建议?初始watch:styles
运行良好。如果我yarn postwatch:styles
手动运行脚本运行正确。会不会有一个静默错误watch:styles
阻止钩子触发?
任何建议将不胜感激。
javascript - babel es5 到 es6 在导入时将较少的扩展转换为 css
./lib
在发布到 npm 之前,我编写了一些构建目录的 npm 脚本。
1.脚本负责将所有es6
*.js
文件转换./src/components/
为es5
语法,然后将文件复制到./lib
(相同的结构)。
这是脚本:
这是.babelrc
文件:
我有另一个脚本负责将.less
文件转换为.css
并将它们复制到./lib
(相同的结构):
一切都按预期进行,但我现在有一个问题。我import
在.js
文件中的内容是指.less
文件,但我需要将其更改为.css
扩展名。
为了清楚起见,
我现在拥有的是:
转换成这个:
但我希望它转换为: