我是npm run scripts
的新手我可以仅使用npm run scripts
执行以下任务吗? (即没有像gulp
和grunt
这样的任务选手)
任何帮助将不胜感激!
我不明白为什么不呢?给你一点背景:
npm run scripts
允许您轻松运行:您创建的任何自定义脚本,或node_modules
目录中提供的任何脚本。这正是任何任务运行程序为您提供的:即用于完成常见开发任务的自定义脚本,他们只是预先制作了这些脚本,而使用npm运行脚本,您自己创建它们。这些npm脚本是通过将它们添加到"scripts"
文件中的package.json
字段来创建的,可以通过键入以下内容来执行:npm run <script-name>
。
我们如何才能运行本地安装的包的二进制文件?
好吧,本地安装包的二进制文件可以通过PATH
环境变量提供给你。这非常方便,只需输入所述包的名称而不必指向:node_modules/.bin/<node_module>
,即可运行所述二进制文件。此外,要查看可用的脚本,请发出:npm run
好的回到你的问题..是的,你将只需要利用各种库来创建自定义脚本来完成所述任务。
例如,scss
到css
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'"
}
或者,如果您只想将html
,css
,js
移动到部署目录<dist>
,则可以执行以下操作:
"scripts": {
"copy": "cp <html_dir> dist/ && cp <css_dir> dist/ && cp <js> dist/",
}
至于有关通知的问题:您的自定义脚本将运行其他自定义脚本,并在控制台上打印所述脚本的结果。你可以用npm run scripts
做更多的事情,比如:linting,观看,组合脚本等等。对于一个很棒的教程,请查看这个link,因为我只是在表面上。
希望这有帮助!