繁体   English   中英

如何在项目外部安装grunt并从项目目录运行任务

[英]How to install grunt outside of a project and run tasks from the project directory

我在这里观看这一系列教程并且可以看到grunt(不是grunt-cli)文件存储在项目根目录中。

我看到通常是这样,但想将我的文件放在其他位置。

有没有办法做到这一点。 显然,我可以运行init在/grunt创建package.json文件并在那里进行安装,但是告诉它如何与我的项目/root/project相对比较容易。

这是您的结构的潜在示例:

main-folder
├── package.json
├── Gruntfile.js
├── grunt
│   ├── config.js
│   ├── config
│   │   │   ├── copy.js
│   │   │   ├── sass.js
│   │   │   ├── sync.js
│   │   │   ├── linkAsset.js
│   │   │   └── uglify.js
│   ├── register
│   │   │   ├── compileAssets.js
│   │   │   ├── linkAssets.js
│   │   │   ├── build.js
│   │   │   └── buildProd.js
├── project-1
│   └── folders and files ...
├── project-2
│   └── folders and files ...
  • package.json :包含所有grunt-plugins依赖项和其他有用的npm模块
  • Gruntfile.js :在grunt/configgrunt/register文件夹中加载和配置所有任务

如果您想了解更多信息来设置grunt配置,请阅读以下内容: 如何创建和组织配置以及注册grunt任务

配置文件

我建议您还使用配置文件( 例如main-folder/grunt/config.js )文件注册一些快捷方式,变量,以使您的grunt任务更加动态。

范例:

var version = '0.1.0';
var project1Dir = 'project-1';
var project2Dir = 'project-2';

module.exports.version = version;
module.exports.project1Dir = project1Dir;
module.exports.project2Dir = project2Dir;

并在每个任务中使用以下命令导入此配置: var config = require('../config'); 如果您重命名例如project1文件夹,将很容易重构代码。

运行任务

现在,当您在目录( main-folder/project1main-folder/project2 )中工作并输入grunt命令时,请使用b标志告诉grunt您的Gruntfile.js文件在哪里。

范例:

grunt -b ../ build

您还可以在代码中配置此行为。 阅读Grunt文档以获取更多信息: Grunt CLI-b标志

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM