如何基于node:13.7 Docker镜像运行Grunt?配置问题咨询
解决方案:无需全局安装grunt-cli,用npm脚本实现Grunt运行
当然可以!你完全不需要全局安装grunt-cli,通过本地安装依赖 + npm脚本的组合就能轻松实现需求,具体操作步骤如下:
1. 本地安装grunt-cli到开发依赖
首先在容器内执行命令,把grunt-cli安装到项目的开发依赖中:
docker-compose run --rm npm install grunt-cli --save-dev
2. 在package.json中添加npm脚本
打开你的package.json,找到scripts字段,添加一条指向grunt的命令:
{ "scripts": { // 保留你已有的其他脚本 "grunt": "grunt" } }
3. 通过npm run执行Grunt任务
现在你就可以用npm run的方式调用Grunt了,比如执行默认任务:
docker-compose run --rm npm run grunt
如果要执行特定任务(比如build),就写:
docker-compose run --rm npm run grunt build
原理说明
npm在运行脚本时,会自动将项目根目录下的node_modules/.bin目录加入系统的PATH环境变量中。而本地安装的grunt-cli的可执行文件正好位于这个目录下,所以直接写grunt就能被npm找到并执行,完全不需要全局安装。
内容的提问来源于stack exchange,提问作者nowox
相关产品推荐
相关产品推荐

