利用Webpack+React(antd)+ES6+python(flask)实现代码转换
之前的几篇博客是将flask 结合 antd本地化,但是这样使得antd无法按需加载(也不支持ES6的语法),而且在写的过程中还需要把每个组件都用antd对象,这样的做法虽然是实现了antd的本地化,但是无法最大化的使用antd组件库,最好的方式就是官网上的组件代码直接拿过来用就行,今天所做的就是这个功能。
首先是借用Webpack ,它是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。
一、安装webpack1.安装webpack(项目根目录下):
$npm install webpack --save-dev
2.Webpack需要某些配置才能完成给他的工作。所以我们需要在项目根目录下创建一个webpack.config.js
的配置文件。写入以下内容:
var webpack = require('webpack');
var path = require('path'); var APP_DIR = path.resolve(__dirname, 'static/components');
var BUILD_DIR = path.resolve(__dirname, 'static/js'); var config = {
entry: APP_DIR + '/index.jsx',
output: {
path: BUILD_DIR,
filename: 'bundle.js'
}
}; module.exports = config;
Webpack的配置最少需要两项,一个是入口属性,一个是输出属性。APP_DIR
指向React项目的代码所在目录,BUILD_DIR
指向打包后文件的输出目录。
就如同配置项名称所表达的一样。entry是打包所需要的入口文件。如果你对静态语言,比如c/c++之类的熟悉的话。这个入口文件就是c/c++包含main方法的文件。Webpack支持多个入口文件。这里目录static/components里的index.jsx文件就是整个应用的入口文件。
output指明webpack在打包完成后需要做什么。这里,使用static/js目录存放打包后生成的文件bundle.js。
在static/components目录下创建文件index.jsx。并添加如下代码:
console.log('Hello World!');
在terminal里输入下面的命令。
$ ./node_modules/.bin/webpack -d
命令会调用webpack,生成开发环境下的bundle.js文件以及关联的map文件bundle.js.map。这两个文件都在配置文件制定的目录static/js下。
但是目前只看到了编译之后的js文件,不够直观。在目录templates下创建一个index.html文件。这样js文件是否加载成功都能看到了。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>webpack</title>
</head>
<body>
<div id="ES6Box"></div>
<script src="/static/js/bundle.js">
</script>
</body>
</html>
如果成功将会看到“Hello World!”。
二、使用Babel-Loader
babel-loader使得EM2015以及React语法通过webpack翻译以后生成浏览器所识别的代码:
aaarticlea/png;base64,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" alt="" />
1.使用npm安装babel-loader。
$ npm install babel-loader babel-preset-es2015 babel-preset-react --save-dev
babel-preset-es2015和babel-preset-react是babel-loader
使用的插件。专门用来翻译JSX和ES2015语法。安装之后还需要配置一下才能使用。
项目根目录下创建一个.babelrc的文件,并添加一下内容。
{
"presets": ["es2015", "react"]
}
2.告诉webpack使用babel-loader
来打包文件。
打开webpack.config.js并添加如下内容。
var webpack = require('webpack');
var path = require('path'); var APP_DIR = path.resolve(__dirname, 'static/components');
var BUILD_DIR = path.resolve(__dirname, 'static/js'); var config = {
entry: {
index1: APP_DIR + '/index.jsx',
react1: APP_DIR + '/react.jsx',
//多个文件可在后面追加。。。
},
output: {
path: BUILD_DIR,
filename: '[name].js' //所有编译的文件都在static/js,文件名为entry设定的name,上面两个文件编译完以后为index1.js\react1.js。
},
module: {
rules: [
{
test: /\.jsx$/,
use: [
'babel-loader',
],
include: [
// path.resolve(__dirname, "app")
APP_DIR
],
}],
}
}; module.exports = config;
loaders
属性对应的值是一个数组。不过我们只是用babel-loader
。每一个加载器都需要通过test
属性指定可以处理的文件的后缀。babel-loader
用来处理.js和.jsx文件。include
属性指定处理哪个目录下的文件。loader
属性就是加载器的名称。npm install react react-dom --save
import React from 'react';
import {render} from 'react-dom'; class App extends React.Component {
render() {
return <p> Hello World! </p>
}
} render(<App />, document.getElementById('app'));
执行命令:
$ ./node_modules/.bin/webpack -d
成功以后即可看到Hello World!。
4.webpack监视文件变化,实时更新
$ ./node_modules/.bin/webpack -d --watch
ps:如果在实际项目时,运行终端时候启动服务以及占去一个终端,这个时候我们可以另起一个终端来监视文件变化,这样两边互不干扰。
三、使用antd组建
在从上面步骤做下来已经实现了浏览器支持react和ES6的语法了,下面是引入antd组件库》
1.安装:
$ npm install antd --save
这个时候你会发现pakage.json中你安装的所有东西都在里面。
{
"name": "webpack-example",
"version": "1.0.0",
"description": "A simple webpack example.",
"main": "bundle.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"webpack"
],
"author": "jiang",
"license": "MIT",
"devDependencies": {
"babel-loader": "^6.4.1",
"babel-plugin-import": "^1.1.1",
"babel-preset-es2015": "^6.24.0",
"babel-preset-react": "^6.23.0",
"babel-preset-stage-1": "^6.22.0",
"webpack": "^2.3.2"
},
"dependencies": {
"antd": "^2.8.3",
"react": "^15.4.2",
"react-dom": "^15.4.2"
}
}
2.引用antd
将index.jsx中的内容换为antd官网中的任意一个组件代码,此处以表格为例:
import React from 'react';
import ReactDOM from 'react-dom';
import Form from 'antd/lib/form';
import Icon from 'antd/lib/icon';
import Button from 'antd/lib/button';
import Input from 'antd/lib/input';
const FormItem = Form.Item; function hasErrors(fieldsError) {
return Object.keys(fieldsError).some(field => fieldsError[field]);
} class HorizontalLoginForm extends React.Component {
componentDidMount() {
// To disabled submit button at the beginning.
this.props.form.validateFields();
}
handleSubmit = (e) => {
e.preventDefault();
this.props.form.validateFields((err, values) => {
if (!err) {
console.log('Received values of form: ', values);
}
});
}
render() {
const { getFieldDecorator, getFieldsError, getFieldError, isFieldTouched } = this.props.form; // Only show error after a field is touched.
const userNameError = isFieldTouched('userName') && getFieldError('userName');
const passwordError = isFieldTouched('password') && getFieldError('password');
return (
<Form layout="inline" onSubmit={this.handleSubmit} style={{marginTop:50,marginLeft:50}}>
<FormItem
validateStatus={userNameError ? 'error' : ''}
help={userNameError || ''}
>
{getFieldDecorator('userName', {
rules: [{ required: true, message: 'Please input your username!' }],
})(
<Input prefix={<Icon type="user" style={{ fontSize: 13 }} />} placeholder="Username" />
)}
</FormItem>
<FormItem
validateStatus={passwordError ? 'error' : ''}
help={passwordError || ''}
>
{getFieldDecorator('password', {
rules: [{ required: true, message: 'Please input your Password!' }],
})(
<Input prefix={<Icon type="lock" style={{ fontSize: 13 }} />} type="password" placeholder="Password" />
)}
</FormItem>
<FormItem>
<Button
type="primary"
htmlType="submit"
disabled={hasErrors(getFieldsError())}
>
Log in
</Button>
</FormItem>
</Form>
);
}
} const WrappedHorizontalLoginForm = Form.create()(HorizontalLoginForm); ReactDOM.render(<WrappedHorizontalLoginForm />,document.getElementById('ES6Box'));
在引进的过程中需要注意几点,注意上面的红色代码:
import React from 'react';
import ReactDOM from 'react-dom';
import Form from 'antd/lib/form';
import Icon from 'antd/lib/icon';
import Button from 'antd/lib/button';
import Input from 'antd/lib/input';
第一、二两行是引入React和ReactDOM,否则浏览器会报ReactDOM、React没有定义的错误。
后面则是antd的按需加载,也可以借用插件 babel-plugin-import
完成上面操作以后如果出现语法错误,不支持ES6的箭头函数或者其他语法
需要下载bable转码器:
$ npm install --save-dev babel-preset-stage-1
在.babelrc文件中添加规则:
{
"presets": [
"latest",
"react",
"stage-2"
],
"plugins": []
}
这个时候刷新页面会发现没有css样式:
aaarticlea/png;base64,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" alt="" />
别着急这个时候就需要加入antd的css,需要在webpack中添加css-loader/stylr-loader,方法很简单:
1.安装css-loader style-loader:
$npm install css-loader style-loader
2.在配置文件中加入依赖,package.json中添加安装的css-loader style-loader,注意版本一定要相同:
{
"name": "webpack-example",
"version": "1.0.0",
"description": "A simple webpack example.",
"main": "bundle.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"webpack"
],
"author": "jiang",
"license": "MIT",
"devDependencies": {
"babel-loader": "^6.4.1",
"babel-plugin-import": "^1.1.1",
"babel-preset-es2015": "^6.24.0",
"babel-preset-react": "^6.23.0",
"babel-preset-stage-1": "^6.22.0",
"webpack": "^2.3.2"
},
"dependencies": {
"antd": "^2.8.3",
"react": "^15.4.2",
"react-dom": "^15.4.2",
"css-loader": "^0.27.3",
"style-loader": "^0.16.1"
}
}
添加以后需要重新执行命令:npm install 更新一下。
3.在webpack.config.js中添加进来:
var webpack = require('webpack');
var path = require('path'); var APP_DIR = path.resolve(__dirname, 'static/components');
var BUILD_DIR = path.resolve(__dirname, 'static/js'); var config = {
entry: {
index: APP_DIR + '/index.jsx',
react: APP_DIR + '/react.jsx',
},
output: {
path: BUILD_DIR,
filename: '[name].js'
},
module: {
rules: [
{
test: /\.jsx$/,
use: [
'babel-loader',
],
include: [
// path.resolve(__dirname, "app")
APP_DIR
],
},
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
],
}
}; module.exports = config;
最后在index.jsx中加入css:
import 'antd/dist/antd.css';
重新执行命令./node_modules/.bin/webpack -d
就ok了:
aaarticlea/png;base64,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" alt="" />
这样就全部实现了antd真正的本地化,可以随心所遇的运用其官网上组件的代码了。
友情提示:过程虽然漫长而复杂,但是研究出来的一瞬间会让你觉得值得。。。
借鉴:
http://blog.csdn.net/future_challenger/article/details/52389812
http://webpackdoc.com/index.html
利用Webpack+React(antd)+ES6+python(flask)实现代码转换的更多相关文章
- webpack+react+redux+es6开发模式
一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...
- webpack+react+redux+es6开发模式---续
一.前言 之前介绍了webpack+react+redux+es6开发模式 ,这个项目对于一个独立的功能节点来说是没有问题的.假如伴随着源源不断的需求,前段项目会涌现出更多的功能节点,需要独立部署运行 ...
- 基于webpack+react+antd 项目构建
工欲善其事必先利其器,学习React也是如此. 下面分享一篇基于webpack+react+antd 项目构建的好文章, https://blog.hduzplus.xyz/articles/2017 ...
- webpack+react+antd 单页面应用实例
React框架已经火了好长一段时间了,再不学就out了! 对React还没有了解的同学可以看看我之前的一篇文章,可以快速简单的认识一下React.React入门最好的实例-TodoList 自己从开始 ...
- webpack+react+redux+es6
一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...
- 使用 webpack + react + redux + es6 开发组件化前端项目
因为最近在工作中尝试了 webpack.react.redux.es6 技术栈,所以总结出了一套 boilerplate,以便下次做项目时可以快速开始,并进行持续优化.对应的项目地址:webpack- ...
- webpack+react+es6开发模式
一.前言 实习了两个月,把在公司用到的前端开发模式做个简单的整理.公司里前端开发模式webpack+react+redux+es6,这里去掉了redux. webpack, react, redux等 ...
- Webpack+React+ES6开发模式入门指南
React无疑是今年最火的前端框架,github上的star直逼30,000,基于React的React Native的star也直逼20,000.有了React,组件化似乎不再步履蹒跚,有了Reac ...
- Webpack+React+ES6入门指南[转]
React无疑是今年最火的前端框架,github上的star直逼30,000,基于React的React Native的star也直逼20,000.有了React,组件化似乎不再步履蹒跚,有了Reac ...
随机推荐
- LeetCode(70): 爬楼梯
Easy! 题目描述: 假设你正在爬楼梯.需要 n 步你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 ...
- 新增 修改,对xx名字或者其他属性做校验判断是否存在
需求描述:页面输入完xxName和xx编码,点击提交,根据两项内容做重复校验(就是看看数据库里有木有相同的) 解决思路:把这两个东西作为查询条件去查,查到有记录,提示已存在,就不执行新增或者修改操作. ...
- django----Form详细信息
Form类: 创建Form类时,主要涉及到 [字段] 和 [插件],字段用于对用户请求数据的验证,插件用于自动生成HTML; Django内置字段 Field required=True, 是否允许为 ...
- lightoj 1220 唯一分解定理
#include<bits/stdc++.h> using namespace std; #define maxn 1000005 #define ll long long int v[m ...
- Happiness
1575: Happiness 时间限制: 1 Sec 内存限制: 1280 MB 题目描述 Chicken brother is very happy today, because he atta ...
- js中json对象数组按对象属性排序(sort方法)---2(根据拼音排序汉字和排序英文)
本例主要实现 中文汉字按拼音排序的方法和英文按照首字母排序的方法. 要排序的数据: //要排序的数据 let data = [ {chinese: '蔡司', english: 'Chase'}, { ...
- jmeter csv中获取带引号的数据详情
最近在工作中,对jmeter实践的点滴的记录这里分享,不一定正确,仅供参考和讨论,有想法的欢迎留言.谈论. 1技巧1:从csv中获取带引号的数据详情 背景:我们从csv中获取数据,在jmeter中使用 ...
- txt文档去重复内容
@echo off for /f "delims=" %%i in ('type "%1"') do (if not defined %%i set %%i=A ...
- mysql 5.7 ERROR 1820 (HY000):
在首次登录Mysql 5.7 后,mysql数据库做出了很多的调整.执行大部分操作会提示这个错误 : ERROR 1820 (HY000): You must reset your password ...
- 如何使用Scrapy框架实现网络爬虫
现在用下面这个案例来演示如果爬取安居客上面深圳的租房信息,我们采取这样策略,首先爬取所有租房信息的链接地址,然后再根据爬取的地址获取我们所需要的页面信息.访问次数多了,会被重定向到输入验证码页面,这个 ...