加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Grunt 项目脚手架介绍

发布时间:2023-05-15 14:11:38 所属栏目:教程 来源:
导读:grunt-init是一个用于自动创建项目脚手架的工具。它会基于当前工作环境和你给出的一些配置选项构建一个完整的目录结构。至于其所生成的具体文件和内容,依赖于你所选择的模版和构建过程中你对具体信息所给出的配置选
grunt-init是一个用于自动创建项目脚手架的工具。它会基于当前工作环境和你给出的一些配置选项构建一个完整的目录结构。至于其所生成的具体文件和内容,依赖于你所选择的模版和构建过程中你对具体信息所给出的配置选项。

注意:这个独立的程序曾经是作为Grunt内置的"init"任务而存在的。在从0.3升级到0.4指南中可以查看更多关于它演变的信息。

Grunt-init 安装
为了使用grunt-init,需要将其安装到全局环境中。

npm install -g grunt-init
这样就会把grunt-init命令安装了到你的系统路径,从而允许你在任何目录中都可以运行它。

注意:你可能需要使用sudo权限或者作为超级管理员运行shell命令来执行这个操作。

Grunt-init 用法
使用grunt-init --help来获取程序帮助以及列出可用模板清单

使用grunt-init TEMPLATE并基于可用模板创建一个项目

使用grunt-init /path/to/TEMPLATE基于任意其他目录中可用的模板创建一个项目

注意,大多数的模板都应该在当前目录(执行命令的目录)中生成它们的文件(自动生成的项目相关的文件),因此,如果你不想覆盖现有的文件,注意一定要切换到一个新目录中来保证文件生成到其他目录。

安装模板
一旦模板被安装到你的~/.grunt-init/目录中(在Windows平台是%USERPROFILE%\.grunt-init\目录),那么就可以通过grunt-init命令来使用它们了。建议你使用git将模板克隆到项目目录中。例如, grunt-init-jquery模板可以像下面这样安装:

git clone https://github.com/gruntjs/grunt-init-jquery.git ~/.grunt-init/jquery
注意:如果你希望在本地像"foobarbaz"这样使用模板,你应该指定~/.grunt-init/foobarbaz之后再克隆。grunt-init会使用实际在于~/.grunt-init/目录中的实际的目录名。

下面是一些有Grunt官方维护的grunt-init模板:

grunt-init-commonjs - Create a commonjs module, including Nodeunit unit tests. (sample "generated" repo | creation transcript)

grunt-init-gruntfile - Create a basic Gruntfile. (sample "generated" repo | creation transcript)

grunt-init-gruntplugin - Create a Grunt plugin, including Nodeunit unit tests. (sample "generated" repo |creation transcript)

grunt-init-jquery - Create a jQuery plugin, including QUnit unit tests. (sample "generated" repo | creation transcript)

grunt-init-node - Create a Node.js module, including Nodeunit unit tests. (sample "generated" repo |creation transcript)

定制模版
你可以创建和使用自定义模板。但是你的模板必须遵循与上述模板相同的文件结构。

下面是一个名为my-template的模板示例,它必须遵循下面这样的常规文件结构:

my-template/template.js - 主模板文件。

my-template/rename.json - 模板特定的重命名规则,作为模板进行处理。

my-template/root/ - f要复制到目标位置的文件。

假设这些文件存储在/path/to/my-template目录中,那么命令grunt-init /path/to/my-template就会处理这些模板。这个目录中可能存在多个命名唯一的模板(多个不重名的模板)。

此外,如果你把这个自定义模板放在你的~/.grunt-init/目录中(在Windows上是%USERPROFILE%\.grunt-init\目录),那么只需要使用grunt-init my-template命令就可以使用这个模版了。

复制文件
当执行初始化模板时, 只要模板使用init.filesTocopy和init.copyAndProcess方法,任何位于root/子目录中的文件都将被复制到当前目录。

注意所有被复制的文件都会被做为模板进行处理,并且所有{% %}模板都会依据props数据对象集合中的数据进行替换,除非设置了noprocess选项。可以看看jquery template中的案例。

重命名或者排除模板文件
rename.json用于描述sourcepath到destpath的重命名映射关系。sourcepath必须是相对于root/目录要被复制的文件路径,但是destpath值可以包含{% %}模板,用于描述目标路径是什么。

如果destpath被指定为false,那么文件就不会被复制。此外,srcpath还支持通配符匹配模式。

为询问信息指定默认选择
每个初始化提示都会有一个硬编码的默认值或者它会根据当前环境来尝试确定该缺省值。如果你想覆盖某个特定提示信息的默认值,你可以在OS X或者Linux的~/.grunt-init/defaults.json或者Windows的%USERPROFILE%\.grunt-init\defaults.json文件中选择性的进行处理。

例如,由于我希望使用一个与众不同的名字来替代默认的名字,并且我还希望排除我的邮箱地址,同时我还希望自动指定一个作者的url,那么我的defaults.json看起来就可能像下面这样。

{
  "author_name": "\"Cowboy\" Ben Alman",
  "author_email": "none",
  "author_url": "https://f2er.com/"
}
注意:即使所有的内置提示信息都有文档,你还可以在源代码中找到他们的名字和默认值。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章