1.要用es6,因为目前浏览器的支持情况,那么肯定需要插件将e6的代码转换成es5,我用的是babel-loader,事实证明使用6.x版本似乎是不行的,我换成5.3.2之后就成功了。

2.webpack.config.js配置文件中,配置loader的时候,我从网上博客中copy的

loader: 'babel-loader!jsx-loader?harmony' 不知道是语法错误还是本身不通,编译时会报错
改成仅用babel-loader 错误解决

2017/02/16更新:

一.最近又重新装了一次webpack2.0,发现webpack2有些地方作了修改

1.webpack.config.js中loader需要写全名,如:
{
test: /\.json$/,
loader: "json-loader"
}

2.不再允许插件自定义属性直接写在外层对象中,如postcss属性,需要将插件自定义属性放在plugins属性内:

plugins:[
new webpack.LoaderOptionsPlugin({
options:{
postcss:autoprefixer
}
})
]

二.另外,安装sass-loader和node-sass的时候遇到了问题

  新的sass-loader需要4.0.0版本以上的node-sass,但是我使用npm install node-sass 老是报一个"1% is not a valid win32 application"的错误,按照stack overflow上说的

  npm rm node-sass+npm install node-sass

  依然不行。改成npm install node-sass@4.0.0还是不行

  后来通过

  npm rm node-sass

  cnpm install node-sass@4.0.0

  安装成功,不知道什么原因。

三.使用async函数的时候,发现babel并不支持对async的转换。有两种方法,第一种是安装体积较大的polyfill。

我选择了第二种,安装"babel-plugin-transform-runtime"

npm install babel-plugin-transform-runtime --save-dev

  然后还需要在webpack.config.js配置,在query中增加一项:

 {
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',//在webpack的module部分的loaders里进行配置即可
query: {
presets: ['react', 'es2015','stage-1'],
plugins: ['transform-runtime']
}
},

  这样,async函数就可以使用了。

四.babel升级后不再支持decorator装饰器写法。需要安装

babel-plugin-transform-decorators-legacy

然后再在 webpack.config.js中对js和jsx的配置的query中增加:
plugins: ["transform-decorators-legacy"]
												

配置react+webpack+es6中的一些教训的更多相关文章

  1. scss + react + webpack + es6

    scss + react + webpack + es6 写在前面: 刚学习完慕课网里的一个幻灯片案例,自己加了刚学的react,两者结合.首先让大家看看效果 点击此处 你可以先用纯js实现上面的效果 ...

  2. 使用scss + react + webpack + es6实现幻灯片

    写在前面: 刚学习完慕课网里的一个幻灯片案例,自己加了刚学的react,两者结合.首先让大家看看效果 点击此处 你可以先用纯js实现上面的效果:我的github上的 JS代码 或者 观看慕课提供的课程 ...

  3. 利用yeoman快速搭建React+webpack+es6脚手架

    自从前后端开始分离之后,前端项目工程化也显得越来越重要了,之前写过一篇搭建基于Angular+Requirejs+Grunt的前端项目教程,有兴趣的可以点这里去看 但是有些项目可以使用这种方式,但有些 ...

  4. React+Webpack+ES6环境搭建(自定义框架)

    引言 目前React前端框架是今年最火的.而基于React的React Native也迅速发展.React有其独特的组件化功能与JSX的新语法,帮助前端设计有了更好的设计与便捷,而React Nati ...

  5. React+Webpack+ES6 兼容低版本浏览器(IE9)解决方案

    虽然过了兼容IE6的噩梦时代,IE依旧阴魂不散,因为你可能还要兼容IE9.在ES6已经普及的今天,用ES6写react已经成了标配.但是babel编译的js语法,由于某些不规范的写法,可能在IE9下不 ...

  6. 如何在react&webpack中引入图片?

    在react&webpack项目中需要引入图片,但是webpack使用的模块化的思想,如果不进行任何配置,而直接在jsx或者是css中使用相对路径来使用就会出现问题,在webpack中提供了u ...

  7. React和ES6(二)ES6的类和ES7的property initializer

    React与ES6系列: React与ES6(一)开篇介绍 React和ES6(二)ES6的类和ES7的property initializer React与ES6(三)ES6类和方法绑定 React ...

  8. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  9. webpack+react+redux+es6开发模式---续

    一.前言 之前介绍了webpack+react+redux+es6开发模式 ,这个项目对于一个独立的功能节点来说是没有问题的.假如伴随着源源不断的需求,前段项目会涌现出更多的功能节点,需要独立部署运行 ...

随机推荐

  1. 【Navicat preminm】64位的Navicat preminm注册

    百度云盘 技术-->Navicat preminm+破解

  2. CSS 发明者 Håkon Wium Lie 访谈--csdn zhangxin09

    原文地址:https://dev.opera.com/articles/css-twenty-years-hakon/ ---------------------------------------- ...

  3. mac 查看系统位数

    uname -a

  4. [LeedCode OJ]#85 Maximal Rectangle

     [ 声明:版权全部,转载请标明出处.请勿用于商业用途. 联系信箱:libin493073668@sina.com] 题目链接:https://leetcode.com/problems/maxima ...

  5. Java第三次实验要求

    实验三 类与对象(一) 一. 实验目的 1. 掌握类与对象的基本概念: 2. 掌握类的声明.创建与用法: 3. 掌握类的构造方法的定义与用法 4. 掌握类的成员变量.成员方法的定义与用法: 5. 理解 ...

  6. 在pypy环境中运行odoo8

    PyPy是一个独立的解析器, 通过即时编译(JIT,Just-in-time)代码避免逐行解释执行来提升运行速度的(将编译过的行代码缓存起来,从而加快速度).我们一般使用的Python一般是使用C实现 ...

  7. Effective Go(官方文档)笔记

    Effective Go(官方文档)笔记 自己主动局部变量提升(编译期完毕?):return &...; 内置函数: new/make copy, append delete range(这是 ...

  8. 强化基础 Action ac = (System.Action)delegate() { Console.WriteLine("123456"); }; ac(); 委托间 也是 可以相互转换的

    委托间 也是 可以相互转换的

  9. 剖析CPU温度监控技术

    转载 :剖析CPU温度监控技术   标签: CPU 温度控制技术 1805 具体温度检测调整代码(转载)        迄今为止还没有一种cpu散热系统能保证永不失效.失去了散热系统保护伞的“芯”,往 ...

  10. Error: Cannot find module 'webpack'错误解决

    $ npm install webpack -g $ npm install webpack-cli -g 全局安装webpack $ npm run dev Error: Cannot find m ...