是否可以使用npm-scripts执行任务而不使用任务运行器?

问题描述 投票:1回答:1

我是npm run scripts的新手我可以仅使用npm run scripts执行以下任务吗? (即没有像gulpgrunt这样的任务选手)

  1. concat js
  2. scss to css watch
  3. 获得有关成功的js连接和scss到css转换的通知
  4. 并且只将html,css,js移动到部署目录

任何帮助将不胜感激!

npm npm-scripts
1个回答
0
投票

我不明白为什么不呢?给你一点背景:

npm run scripts允许您轻松运行:您创建的任何自定义脚本,或node_modules目录中提供的任何脚本。这正是任何任务运行程序为您提供的:即用于完成常见开发任务的自定义脚本,他们只是预先制作了这些脚本,而使用npm运行脚本,您自己创建它们。这些npm脚本是通过将它们添加到"scripts"文件中的package.json字段来创建的,可以通过键入以下内容来执行:npm run <script-name>

我们如何才能运行本地安装的包的二进制文件?

好吧,本地安装包的二进制文件可以通过PATH环境变量提供给你。这非常方便,只需输入所述包的名称而不必指向:node_modules/.bin/<node_module>,即可运行所述二进制文件。此外,要查看可用的脚本,请发出:npm run

好的回到你的问题..是的,你将只需要利用各种库来创建自定义脚本来完成所述任务。

例如,scsscss watch,你可以像这样创建一个脚本:

"scripts": {
    "buildscss": "sass --watch app/sass:public/stylesheets"
 },

或者,您可以使用node-sass来处理此任务:

npm install --save-dev node-sass
"scripts": {
  "buildscss": "node-sass --output-style compressed -o dist/css src/scss"
}

要服务并自动注入更改,您可以使用browser-sync。类似于以下内容:

npm i -D browser-sync
"scripts": {
  "serve": "browser-sync start --server --files 'dist/css/*.css, dist/js/*.js'"
}

或者,如果您只想将htmlcssjs移动到部署目录<dist>,则可以执行以下操作:

"scripts": {
  "copy": "cp <html_dir> dist/ && cp <css_dir> dist/ && cp <js> dist/",
}

至于有关通知的问题:您的自定义脚本将运行其他自定义脚本,并在控制台上打印所述脚本的结果。你可以用npm run scripts做更多的事情,比如:linting,观看,组合脚本等等。对于一个很棒的教程,请查看这个link,因为我只是在表面上。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.