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

时间:2019-04-25 14:50:49

标签: npm npm-scripts

我是npm run scripts的新手,是否可以仅使用npm run scripts来完成以下任务? (即没有gulpgrunt之类的任务运行程序)

  1. concat js
  2. scss到css观看
  3. 获取有关成功进行js串联和将CSS转换为CSS的通知
  4. 并且仅将html,css,js移至部署目录

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我不明白为什么呢?为您提供一些背景信息:

npm run scripts使您可以轻松地运行:您创建的任何自定义脚本,或node_modules目录中提供的任何脚本。这正是任何任务执行者都为您提供的:即自定义脚本来完成常见的开发任务,它们只是预制了这些脚本,而使用npm run脚本则是您自己创建它们。通过将它们添加到"scripts"文件内的package.json字段中创建,并且可以通过键入以下命令来执行: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做更多的事情,例如:整理,观看,组合脚本等。有关出色的教程,请查看此link,因为我只是在摸索。 >

希望有帮助!