是否可以在没有任务运行器的情况下仅使用 npm-scripts 执行任务?

is it possible to do tasks using npm-scripts only without task runner?

我是 npm run scripts 的新手,我可以仅使用 npm run scripts 来完成以下任务吗? (即没有像 gulpgrunt 这样的任何任务运行器)

  1. 连接 js
  2. scss 到 css 观看
  3. 收到关于成功的 js 连接和 scss 到 css 转换的通知
  4. 并且仅将 html、css、js 移动到部署目录

如有任何帮助,我们将不胜感激!

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

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

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

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

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

例如,scsscss 手表,您可以创建如下脚本:

"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,因为我只是触及表面。

希望对您有所帮助!