准备做React+Backbone的集成开发,同事之前已经做了自定义Backbone的脚手架,我今天来做React的。
准备工作,安装Node,yeoman就不多说了,什么?不会?你做什么自定义脚手架啊,先自行google去吧
1.安装目录 我的目录是:home/mike/mywork/study/gitcode/
2.安装generator 安装:在命令行输入:npm install -g generator-generator
说明: yo generator 生成器一个新的生成器的向导
yo generator:subgenerator Name 一个以Name为名字的子生成器
步骤一:在命令行输入yo generator
按照向导提示输入,我的generator的名字叫reacttiny 第一步写github名字(不填写也可以),第二步写上reacttiny即可,然后其他默认 之后就等待生成对应的generator-reacttiny目录 目录内容如下:
.
├── generators
│ └── app
│ ├── index.js
│ └── templates
│ ├── _bower.json
│ ├── _package.json
│ ├── editorconfig
│ └── jshintrc
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .jshintrc
├── .travis.yml
├── .yo-rc.json
├── package.json
├── README.md
└── test
└── test-app.js
步骤二: 这时候,cd 进入generator-reacttiny目录, 我们在命令行输入:npm link
,就可以在命令行使用这个生成器了
步骤三: 此时,命令行输入:yo reacttiny
尝试一把看看,就可以看到yeoman大爷了。。。
我们当然可以直接在app的index里开发我们的生成器了, 使用的时候直接使用yo reacttiny即可,但是我要做好几个自定义生成器那怎么办呢?
步骤四: 命令行目录还在generator-reacttiny下, 在命令行输入 yo generator:subgenerator react
注意, yo generator:subgenerator是命令,react就是我们子生成器的名字。之后会在generators目录下自动生成相应的模板文件,和app目录一模一样,此时文件夹名称叫做react
步骤五: 此时就可以在react目录下开发了,其实脚手架目的是根据用户在控制台的输入编写模板文件,最后生成模板文件。
3.用到的包有:handlerbars,open,react,rimraf,chalk,mocha,yosay,yeoman-generator
4.generator方法的执行顺序
对于那些会自动执行的函数,他们是有一个优先顺序的,下面这些函数是按顺序的一个一个执行的。
- initializing - 你的初始化函数,就是构造函数,主要就是检查一下参数什么的
- prompting - 给用户展示你的菜单,选点东西什么的
- configuring - 保存配置信息,创建类似.editorconfig的文件
- default - 就是默认,只要不在这个列表里的函数都在这个位置执行
- writing - 创建模板文件
- conflicts - 处理异常和冲突
- install - 装npm和bower依赖什么的
- end - 打个命令行祝贺使用者成功了
5.上传到npm 如果想将此包上传到npm上,则需要在命令行中的generator-reacttiny目录下输入npm adduser
无注册用户,按提示步骤先增加个用户npm login
有注册,用户先登录npm publish --access=publish
发布即可
PS:在grunt中加入自动编译Jsx文件插件 前提使用yeoman构建了项目
1.在Gruntfile.js文件目录下,安装grunt-react和grunt-browserify命令行输入:npm install grunt-react --save
npm install grunt-browserify --save
2.在Gruntfile.js的watch中增加以下代码,自动监听编译jsx代码为js代码 指定react的jsx目录
watch: {
react:{
files: ['<%= config.app %>/react/{,*/}*.jsx'],
tasks: ['react:dynamic_mappings', 'react:single_js_files']
},
browserify:{
files: ['<%= config.app %>/react/{,*/}*.jsx'],
tasks: ['browserify:options']
}
}
3.在Gruntfile.js的initConfig中增加react和browserify 指定react的jsx目录和js的输出目录
grunt.initConfig({
react: {
single_js_files: {
files: {
'<%=config.app%>/react/output/hello.js': '<%=config.app%>/react/hello.jsx'
}
},
combined_file_output: {
files: {
'path/to/output/dir/combined.js': [
'path/to/jsx/templates/dir/input1.jsx',
'path/to/jsx/templates/dir/input2.jsx'
]
}
},
dynamic_mappings: {
files: [
{
expand: true,
cwd: '<%=config.app%>/react',
src: ['**/*.jsx'],
dest: '<%=config.app%>/react/output',
ext: '.js'
}
]
}
},
browserify: {
options: {
transform: [ require('grunt-react').browserify ]
},
app: {
src: '<%= config.app %>/react/hello.jsx',
dest: '<%= config.app %>/react/output/dist/hello.js'
}
},
});
4.在Gruntfile.js中加入以下两行,加载两个任务
grunt.loadNpmTasks('grunt-react');
grunt.loadNpmTasks('grunt-browserify');
5.在grunt:serve这里加上 'react'和'browserify'
grunt.registerTask('serve', 'start the server and preview your app', function (target) { if (target === 'dist') { return grunt.task.run(['build', 'browserSync:dist']);
}
grunt.task.run([ 'clean:server', 'wiredep', 'concurrent:server', 'postcss', 'browserSync:livereload', 'watch', 'react', 'browserify' ]);
});
6.在默认任务里加上,可以使用grunt --verbose --force命令
查看文件生成细节
grunt.registerTask('default', [
'newer:eslint',
'test',
'build',
'react',
'browserify'
]);
参考:
1.generator-generator
2.yeoman
3.grunt-react
相关推荐
#yeoman生成自己项目文件脚手架(react)准备做React+Backbone的集成开发,同事之前已经做了自定义Backbone的脚手架,我今天来做React的。准备工作,安装Node,yeoman就不多说了,什么?不会?你做什么自定义脚手架啊,...
当使用`generator-material-react`生成项目后,你会得到一个典型的React项目结构,包括源代码目录、配置文件、测试文件等。常见的目录结构可能如下: - `src/`:源代码目录,包含组件、样式、路由等。 - `...
与其他Yeoman生成器一样,此生成器仅为Office加载项项目创建文件的脚手架。 您可以选择使用纯HTML,CSS和JavaScript或使用Angular或React创建Office加载项项目,还可以在JavaScript和Typescript之间进行选择。 注意...
"generator-"前缀表明这是一个Yeoman生成器,用于生成新的React项目。"master"通常表示这是主分支或最新的稳定版本。 在实际使用aegis-tools时,开发者首先需要安装Yeoman和这个生成器,然后按照命令行提示来创建新...
React应用程序生成器搭建 React Web 应用程序的 Yeoman 生成器。特征CSS 自动前缀(新) 带有 LiveReload 的内置预览服务器自动 lint 你的脚本使用Bower 组件。 令人敬畏的图像优化(通过 OptiPNG、pngquant、...
react 组件生成器 使用 $ npm i generator-react-component-gen yo -g $ mkdir demo $ cd demo && yo react-component-gen $ npm install $ npm start 或者 npm run server npm start 只会启动服务器 npm run server...
用法全局安装Yeoman和生成器: npm install - g yo generator - react - flask 使用Yeoman运行生成器: yo react-flask 生成器要求您提供项目名称,名称,电子邮件地址和GitHub用户名。 它使用它们来配置生成的文件...
发电机React-umd 一个用 UMD 包裹的 ES6 React 组件的简约脚手架。 包括: 从 ES6 编译。 UMD 包装。 使用jsdom和 Mocha 进行测试。 使用 BEEFY 的开发服务器。用法启动 BEEFY 开发服务器。 npm start 运行 Mocha ...
`yeoman-generator-atticus-js` 是一个专为JavaScript项目设计的Yeoman生成器。 Yeoman是一个开发工具,它帮助开发者快速设置新项目的结构,通过自定义的生成器来自动化创建文件和目录的过程,从而提高开发效率。这...
例如,“yeoman”是一个广泛使用的脚手架生成器,它提供了丰富的生成器供开发者选择,可以创建各种类型的项目,如Angular、React或Node.js应用。 接下来,我们来分析“express-generator”。Express是Node.js中最受...
2. **脚手架**:为常见的 JavaScript 框架或库(如 React、Vue、Angular 等)生成模板代码。 3. **自动化工具集成**:可能集成了 Gulp 或 Webpack 这样的构建工具,用于编译、打包、压缩和优化代码。 4. **依赖管理*...
yeoman 是一个开发工作流工具,它提供了脚手架生成器来快速初始化项目结构,减少重复性编码工作。`generator-rxreact` 就是这样一种生成器,专门针对结合 Rx.js 和 React.js 开发的项目。通过运行 `npm install ...
【generator-react:个人React项目生成器】是一款专为React开发者设计的Yeoman生成器,它可以帮助用户快速搭建个人React项目的初始结构,节省手动配置的时间。Yeoman是一个开发工具,允许开发者创建可重用的代码生成...
1. **Yeoman**:Yeoman是由Google维护的开源项目,它包括了一个脚手架生成器、一个可扩展的工具生态系统和一套最佳实践。通过Yeoman,你可以选择合适的生成器,如AngularJS、React或Bootstrap,自动生成项目的目录...
要开始使用`gulp-angled` Yeoman生成器,你需要首先安装Yeoman和生成器,然后在命令行中运行相应的命令来生成项目结构。这通常会创建一个基本的项目模板,包括必要的文件和目录结构,以及预配置的Gulp任务。 在`...
生成器-jswidget 入门 首先,您必须在系统上安装和 。 接下来,安装这个生成器: npm install -g generator-jswidget 然后,为您的应用程序创建一个新目录,并从该目录运行yo jswidget并按照说明进行操作。
例如,使用Node.js进行项目初始化时,脚手架可以根据预设模板自动生成必要的文件和目录结构。 2. **统一项目规范**: - **组织结构**:确保项目具有相同的组织结构,便于理解和维护。 - **开发范式**:提供一致...
Flux项目支架 子发电机,用于React成分 测试设置(用) Sass脚手架与 使用npm完成构建过程JS构建JS捆绑(使用 ) 外部源图ES6 + JSX转译(使用 ) CSS构建SASS转码资产副本将所有资产复制到public/ 服务于浏览器观看...
"generator-chrome" 是一个专门为开发Google Chrome扩展程序设计的Yeoman生成器。Yeoman是一个开源工具,用于帮助开发者快速搭建新项目的框架、脚手架和工具链。通过使用generator-chrome,你可以更高效地创建和初始...
Yeoman 可以生成新项目的目录结构,包含必需的配置文件和初始化代码,减少重复劳动,提高开发效率。 2. **生成器(Generator)**:在 Yeoman 中,生成器是可重用的代码模板,它们可以用于创建特定类型的应用、库...