webpack,react,babel

window搭建webpack,react,babel傻瓜教程

  首先现在的webpack教程已经很多了,写这篇的原因是因为自己在从小白开始的搭建过程中,并没有找到比较好的教程,花费了很多的时间,so 有了这篇博客,方便小白同学学习。

  node环境在这里不在赘述,package.json文件如下

{
  "name": "wn",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --hot --inline"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.13.2",
    "babel-preset-react": "^6.11.1",
    "css-loader": "^0.23.1",
    "node-sass": "^3.8.0",
    "react": "^15.3.0",
    "react-dom": "^15.3.0",
    "sass-loader": "^4.0.0",
    "style-loader": "^0.13.1",
    "stylus": "^0.54.5",
    "stylus-loader": "^2.1.1",
    "url-loader": "^0.5.7",
    "webpack": "^1.13.1",
    "webpack-dev-server": "^1.14.1"
  }
}

  这里面有个坑,就是babel-preset-react这个插件,babel-loader中es2015这个插件是解析es6语法的,babel-preset-react这个插件是解析react语法的,在mac中这个插件集成在了es2015中,但是window中并没有集成,导致编译失败,这点大家注意。

  拿到这个文件,直接命令行npm install安装完毕。ps:"start": "webpack-dev-server --hot --inline"这项配置是输入npm start时执行的指令,这里会启动localhost:8080接口,在这个页面会保存后自动刷新。

  接下来是webpack.config.js文件,这里面的注释我写的还算多,不在解释。

  这里有官网的loader列表,大家可以自行添加使用http://webpack.github.io/docs/list-of-loaders.html

module.exports = {
    //在log中定位源文件位置,跟sass的sourcemap一样
    devtool: ‘source-map‘,
    //webpack-dev-server配置
    devServer: {
        historyApiFallback: true,
        hot: true,
        inline: true,
        progress: true,
    },
    //页面入口文件配置
    entry: ‘page/index.js‘,
    //入口文件输出配置
    output: {
        filename: ‘bundle.js‘
    },
    module: {
        //加载器配置,这些loader会解析不同格式的文件,然后一起打包成js文件
        loaders: [
            { test: /\.css$/, loader: ‘style-loader!css-loader‘ },
            { test: /\.scss$/, loader: ‘style!css!sass?sourceMap‘},
            { test: /\.styl$/, loader: ‘style-loader!css-loader!stylus-loader‘},
            { test: /\.(png|jpg)$/, loader: ‘url-loader?limit=8192‘},
            { test: /\.js$/, loader: "babel-loader", query: {presets: [‘es2015‘,‘react‘]}}
        ]
    },
    //其它解决方案配置
    resolve: {
        //自动扩展文件后缀名,意味着我们require模块可以省略不写后缀名
        extensions: [‘‘, ‘.js‘, ‘.json‘, ‘.scss‘, ‘.styl‘],
    }
};

  下面是首页index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello World app</title>
  </head>
  <body>
      <div id=‘app‘></div>
  </body>
  <script type="text/javascript" src=‘bundle.js‘></script>
</html>

  index.js文件

import React from ‘react‘
import ReactDOM from ‘react-dom‘

ReactDOM.render(
  <div>hello world</div>,
  document.getElementById(‘app‘)
)

  文件目录

  在根目录执行npm start后,打开浏览器http://localhost:8080,每次修改文件后页面都会自动刷新,这个打包在内存中,不会生成打包后扥文件。

  bundle文件在执行webpack命令后会打包出来。

  下一篇会加上react-router和redux等更高级的库,再见!

时间: 2024-10-01 07:03:59

webpack,react,babel的相关文章

vue,react,angular

一.Vue.js:     其实Vue.js不是一个框架,因为它只聚焦视图层,是一个构建数据驱动的Web界面的库.     Vue.js通过简单的API(应用程序编程接口)提供高效的数据绑定和灵活的组件系统.     Vue.js的特性如下:    1.轻量级的框架    2.双向数据绑定    3.指令    4.插件化    优点: 1. 简单:官方文档很清晰,比 Angular 简单易学.  2. 快速:异步批处理方式更新 DOM.  3. 组合:用解耦的.可复用的组件组合你的应用程序.

webpack打包react,防止打包文件过大

生产环境下关闭source-map功能 -- devtool: false 排除react包引用,适用CDN文件: externals: { 'react': 'React', 'react-dom': "ReactDOM", 'react-router': 'ReactRouter' }

ng,react,vue的使用淺對比(最新的版本)

淺對比淺對比淺對比淺對比淺對比淺對比淺對比淺對比.呀呀呀,看了三種,我得理順理順.不定更. 子觸發父事件(傳值) vue中子組件邏輯中需要this.$emit(fromChild,[arg]),使用時在子引用中監聽fromChild--@fromChild="parentHandler(arg)" react中父組件事件以props傳入子組件--propsName={this.parentHandler.bind(this)},子組件調用this.props.FnName(arg)觸發

4.前端基于react,后端基于.net core2.0的开发之路(4) 前端打包,编译,路由,模型,服务

1.简要的介绍 学习react,首先学习的就是javascript,然后ES6,接着是jsx,通常来说如果有javascript的基础,上手非常快,但是真正要搭建一个前端工程化项目,还是有很多坑的 搞定上面的东西,那么去了解一下Virtual DOM,可以让你更快的了解react 状态管理和路由都是基于dva(dva基于react-router,redux),所以就按照dva的命名和规则来玩.建议一边实践一边学习.因为dva对新手非常的友好,建议使用它来入门. 2.心路历程(坑路历程) 第一个坑

使用webpack配置react并添加到flask应用

学习react,配置是很痛苦的一关,虽然现在有了create-react-app这样方便的工具,但是必须要自己配置一遍,才能更好地进行项目开发. 首先要明确一个概念:react的文件必须经过编译才能被浏览器识别,因此我们需要webpack这个打包工具来把react的组件打包成一个js文件,然后将这个js文件放到flask目录下,然后引入到flask模版的html文件里面.当然,你也可以在前端用express等服务进行客户端渲染,只将flask服务视为一个传递数据的api. 下面开始配置吧 1.如

office365的开发者训练营,免费,在微软广州举办

先上活动内容: Office 365每月有超过1亿的商业活跃用户,是现有最大的生产力服务.Office 365为开发人员提供了一个令人难以置信的机会,包括业务关键数据和数百万用户,以及一个旨在让人们保持工作流程的平台.作为一名开发人员,您可以使用每天使用的工具创建智能.连接的产品和解决方案. Office 365 开发者训练营是一个免费的,为期一天的培训活动,由微软MVP领导,并得到微软的支持.我们将在Office 365平台上为最新和最伟大的技术和产品(微软图形.SharePoint Fram

React,关于redux的一点小见解

最近项目做多页面应用使用到了,react + webpack + redux + antd去构建多页面的应用,本地开发用express去模拟服务端程序(个人觉得可以换成dva).所以在这里吐槽一下我自己对于redux的一些见解. Redux是状态管理的服务,可以当作是mvc中的controller层,你也可以把它认为是mvvm中vm层.虽然它本身受到Flux的影响很大,但是它的核心概念缺很简单,就是Redue也就是ES5中Array.prototype.reduce,这个reduce用于合并数组

初探React,将我们的View标签化

前言 我之前喜欢玩一款游戏:全民飞机大战,而且有点痴迷其中,如果你想站在游戏的第一阶梯,便需要不断的练技术练装备,但是腾讯的游戏一般而言是有点恶心的,他会不断的出新飞机.新装备.新宠物,所以,很多时候你一个飞机以及装备还没满级,新的装备就又出来了,并且一定是更强! 于是很多人便直接抛弃当前的飞机与装备,追求更好的,这个时候如果是人民币玩家或者骨灰级大神玩家的话,基本可以很快站在世界的顶端,一者是装备好,一者是技术好,但是我不愿意投入太多钱,也不愿意投入过多精力,于是在一套极品装备满级后会积累资源

58到家周俊鹏:webpack PK fis,实现前端工程化我更喜欢前者

责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_qg」,申请入群,务必注明「公司+职位」.另可申请加入CSDN前端开发QQ群:465281214. 2016年,SDCC(中国软件开发者大会)相继走进了上海.深圳.成都.杭州各地.11月18日-20日将在北京完美收官.作为大会的重要分专题,前端开发专题已邀请到58到家高级前端工程师周俊鹏担任大会讲师,现场将分