当我打开此网站的本地项目时,我 100% 需要在任何其他操作之前运行此命令:gulp
。我设置了它不到一年前,因此我使用了最新最好的东西,并且我的工作流程正合我意。几个月后,我进行了一些额外的调整,使事情变得更加完美(甚至添加了一个漂亮的有趣的码头图标!)。
那时我了解了VS Code 任务。一般来说,它们可以运行您配置的命令行任务,您可以随时通过名称选择运行它们。但我特别喜欢它们可以在您打开项目时运行的想法。
运行 Gulp 非常简单
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Gulp",
"command": "gulp",
"type": "shell",
"runOptions": {
"runOn": "folderOpen"
}
}
]
}
除了……这在我的机器上开始失败了。我使用 nvm 来管理 Node 版本,尽管我尽力将 nvm alias default
设置为与 Gulp 配合良好的正确 Node 版本,但 Node 版本始终错误,因此运行 gulp
会失败。诀窍是首先运行 nvm use
(它从我的 .nvmrc
文件中设置正确的版本),然后 gulp
运行良好。
这在新的终端窗口中运行良好,但由于某种原因,即使使命令运行两个这样的任务(用分号将它们链接起来)
"command": "nvm use; gulp",
……它仍然会失败。它不知道 nvm
的含义。我不知道问题的核心到底是什么(为什么一个终端不知道另一个终端知道的东西),但我确实设法弄清楚全局 nvm 有一个 shell 脚本,它只有一个任务:定义 nvm
命令。因此,正如他们所说,您“source”它,然后 nvm
命令就可以工作了。
所以我的最终设置是
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Gulp",
"command": ". ~/.nvm/nvm.sh; nvm use; gulp",
"type": "shell",
"runOptions": {
"runOn": "folderOpen"
}
}
]
}
亲爱的读者们,这正是我想要的,它在打开我的 CSS-Tricks 项目时完美地运行了 Gulp。
向 Jen Luker 致敬,她和我一起踏上了这段旅程,并帮助我完成了它。🤚
最好创建一个运行 nvm 和 gulp 的 npm 命令,并在启动时调用此 npm 命令。
这是先有鸡还是先有蛋的问题。如果 npm 版本不正确,则 npm 命令可能无法运行。
这很不错!我通常希望 Gulp 运行,因此这将派上用场。
作为一种更简单的我一直在使用的方法,我已将以下内容保存到我的 VSCode 工作区文件中——如果您正在处理 WordPress 网站并正在构建自定义主题(其中 gulpfile 不在根目录中),这将非常方便
由于我基本上只运行 Gulp(通过 GUI 使用 git),因此这使得只需按向上箭头键和 Enter 键即可快速运行 Gulp 变得很容易,因为正确的文件夹已打开。
有点晚到场了(赶上我的订阅),但我认为这与您放置原始 nvm.sh 文件源代码的位置有关。
您可以将它放在多个文件中,其中两个主要文件是 .bashrc 和 .bash_profile。这两个文件并不总是加载,具体取决于 shell 的启动方式。请参阅https://apple.stackexchange.com/a/51038/375878以了解两者之间的区别。
也许这还与 macOS 从 BASH 切换到 ZSH 有关?无论如何,很高兴您解决了它,并感谢您指出了 VS Code 任务——我不知道它们的存在 :)