0
我正在使用make
进行前端开发。例如,我的问题可能会更好地解释。随着npm
,我可以在我的package.json
:扩展make命令
"html_dev": "jade --pretty --hierarchy ./src-dir --out ./dev-dir",
"html_watch": "npm run html:dev -- --watch"
这意思是,html_watch
是基本相同html_dev
通过添加的--watch
标志。好处很明显:更改html_dev
,并自动获取html_watch
中的更改。
然而,随着make
我有没有这样的运气,似乎需要重复的命令:使用变量
html_dev:
jade --pretty --hierarchy ./src-dir --out ./dev-dir
html_watch:
jade --pretty --hierarchy ./src-dir --out ./dev-dir --watch
我可以解决此问题:
htm_dev_command := jade --pretty --hierarchy ./src-dir --out ./dev-dir
html_dev:
$(html_dev_command)
html_watch:
$(html_dev_command) --watch
这工作,但会变得很难看,因为我有一堆我想要扩展的命令。
有没有办法做到这一点?
这是有效的,但我宁愿不必使用变量来做到这一点。对我而言,它比具有各种命令的可读性差。 – user137369
有没有办法避免这一点,让我可以想到。如果所有东西都建立在共同的参数之上,那么你可以用'$(EXTRA_ARGS)'写出完整的命令编写一个'html_dev'目标,然后在每个扩展命令中使用'EXTRA_ARGS:= ....'if这对你更好。 'npm'是否允许每个“目标”有任意数量的命令?如果是的话,它是如何处理这个问题并添加参数的? (这就是为什么'make'没有一个简洁的方法来做到这一点,它不知道在哪里添加参数。) –