当前位置:K88软件开发文章中心编程工具Grunt → 文章内容

Grunt 项目脚手架

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:34:25

png,gif,jpg}'; // Warn on any image file.// This is another way of writing the last example.exports.warnOn = ['*.png', '*.gif', '*.jpg'];exports.template虽然exports属性定义在该函数的外面,然而所有实际的初始化代码指定在它内部。这个函数接受三个参数,grunt参数是一个grunt的引用,它包含所有的grunt方法和库。init参数是一个包含特定于这个初始化模板而存在的方法和属性的对象。done参数是在初始化模板执行完成时必须调用的函数。exports.template = function(grunt, init, done) { // See the "Inside an init template" section.};初始化模板的内部init.addLicenseFiles可以给files对象添加适当命名的许可协议证书文件。var files = {};var licenses = ['MIT'];init.addLicenseFiles(files, licenses);// files === {'LICENSE-MIT': 'licenses/LICENSE-MIT'}init.availableLicenses返回一个可用许可协议证书的数组:var licenses = init.availableLicenses();// licenses === [ 'Apache-2.0', 'GPL-2.0', 'MIT', 'MPL-2.0' ]init.copy它提供一份绝对或者相对源文件路径,以及一个可选的相对的目标文件路径,复制一个文件时,可以通过传递的回调函数来选择性的处理它。init.copy(srcpath[, destpath], options)init.copyAndProcess遍历所传递对象中的所有文件,将源文件复制到目标路径,并处理相关内容。init.copyAndProcess(files, props[, options])init.defaults用户在defaults.json中指定的默认初始值。init.defaultsinit.destpath目标文件的绝对路径。init.destpath()init.expand与grunt.file.expand相同。返回一个独一无二的与给定通配符模式所匹配的所有文件或目录路径数组。这个方法接收一个逗号分割的通配符模式或者数组形式的通配符模式参数。如果路径匹配模式以!开头,与模式所匹配的结果就会从返回的数组中排除。模式是按顺序处理的,所以包含和排除在数组中出现的顺序是非常重要的。init.expand([options, ] patterns)init.filesToCopy返回一个包含待复制文件的对象,每个文件都包含了源文件的绝对路径和目标文件的相对路径,并按照rename.json(如果存在)中的规则进行重命名(或者忽略)。var files = init.filesToCopy(props);/* files === { '.gitignore': 'template/root/.gitignore', '.jshintrc': 'template/root/.jshintrc', 'Gruntfile.js': 'template/root/Gruntfile.js', 'README.md': 'template/root/README.md', 'test/test_test.js': 'template/root/test/name_test.js' } */init.getFile获取单一的任务文件路径。init.getFile(filepath[, ...])init.getTemplates返回一个包含所有可用模板的对象。init.getTemplates()init.initSearchDirs在初始化目录中搜索初始化模板。template是指模板的位置。还包括~/.grunt-init和grunt-init中的核心初始化任务。init.initSearchDirs([filename])init.process启动程序并提示开始输入。init.process(options, prompts, done)init.process({}, [ // Prompt for these values init.prompt('name'), init.prompt('description'), init.prompt('version')], function(err, props) { // All finished, do something with the properties});init.prompt给用户一个提示,并让用户输入自己选择的值。init.prompt(name[, default])init.prompts此对象包含了所有提示信息。var prompts = init.prompts;init.readDefaults读取任务文件中(如果存在)读取JSON格式的默认值,并将它们合并到一个数据对象中。init.readDefaults(filepath[, ...])init.renames模板的重命名规则。var renames = init.renames;// renames === { 'test/name_test.js': 'test/{%= name %}_test.js' }init.searchDirs搜索模板的目录数组。var dirs = init.searchDirs;/* dirs === [ '/Users/shama/.grunt-init', '/usr/local/lib/node_modules/grunt-init/templates' ] */init.srcpath根据文件名搜索初始化模板路径并返回一个绝对路径。init.srcpath(filepath[, ...])init.userDir返回用户模板目录的绝对路径。var dir = init.userDir();// dir === '/Users/shama/.grunt-init'init.writePackageJSON在目标目录中保存一个package.json文件。回调函数可以用于后置处理属性的添加/移除/其他操作。init.writePackageJSON(filename, props[, callback])内置提示author_email用于package.json中的作者邮箱地址。默认情况下会尝试从用户的git配置中找到一个默认值。author_name用于package.json中的作者全名和版权信息。也会尝试从用户的git配置中找到一个默认值。author_urlpackage.json中的用于公开作者个人网站的URL。bin项目根目录中cli脚本的相对路径。bugs用于项目问题跟踪的公开URL。如果项目有一个Github仓库,将自动指向项目Github的问题跟踪模块(issue)。description项目的描述。通常在package.json或者README文件中。grunt_version项目所需的有效Grunt版本范围定义。homepage指向项目首页的公开URL。如果此项目使用的是github仓库,那么,默认是Github仓库的url。jquery_version如果是jQuery项目,它表示项目所需的jQuery版本。必须是一个有效的版本范围定义。licenses项目许可协议证书。多个许可协议证书使用空格分割,内置的许可协议有:MIT、MPL-2.0、GPL-2.0和Apache-2.0。默认是MIT协议。可以使用init.addLicenseFiles方法添加自定义许可协议证书。main项目的主入口。默认是lib目录已项目名称命名的文件。name项目名称。在项目模版中将会大量使用,默认指向当前工作目录。node_version项目所需的Node.js版本。必须是一个有效的版本范围定义。npm_test项目中运行测试的命令,默认情况下是grunt。repository项目的git仓库。默认是一个猜测的github url。title适合大家识别的项目名称。默认是原始项目名称,并且经过过滤,适合大家识别。version项目的版本号。默认是第一个有效的语义版本号:0.1.0。

上一页  [1] [2] 


Grunt 项目脚手架