filename: “bundle.js”//打包后输出的js的文件名
},
module: {
//loaders加载器
loaders: [
{
test: /.(js|jsx)$/,//一个匹配loaders所处理的文件的拓展名的正则表达式,这里用来匹配js和jsx文件(必须)
exclude: /node_modules/,//屏蔽不需要处理的文件(文件夹)(可选)
loader: ‘babel’//loader的名称(必须)
}
]
}
};
在项目根目录下新建.babelrc
文件,没错你没看错,就是只有后缀名的文件,添加如下代码:
//.babelrc
{
“presets”: [
“react”,
“es2015”
]
}
这时已将babel配置完成,可以使用JSX和ES6的语法了。
使用ES6书写React组件
==============
在app->components目录下新建一个Component.jsx文件(注意首字母一定要大写),使用ES6语法返回一个React组件,代码如下:
//Component1.jsx
import React from ‘react’;
class Component1 extends React.Component {
render() {
return (
Hello World!
)
}
}
//导出组件
export default Component1;
在main.js中使用ES6的语法,定义和渲染Component1模块,将React组件渲染至html的标签中:
//main.js
import React from ‘react’;
import ReactDom from ‘react-dom’;
import Component1 from ‘./components/Component1.jsx’;
ReactDom.render(
,
document.getElementById(‘content’)
);
如果你使用的是webstorm,可能会报这个错Import declarations are not supported by current JavaScript version
解决的方法是File->Settings->Languages&Frameworks->JavaScript
,将JavaScript language version
改为ECMAScript6
也可能会报这个错Switch language level to JSX Harmony
在弹出栏,点击switch即可
这样,我们已经将React组件渲染至Html之中了,使用npm start命令重新打包,打包完成后在webstorm中预览index.html文件,即可看到Hello World!
每次修改完代码,都需要重新打包才能看到变化吗?
Facebook的前端大神们怎么可能会容忍每次都手动打包呢?
我们可以使用webpack-dev-server来搭建本地开发服务器,修改代码后,立即可以看到变化;所见即所得,大大增加开发效率。
安装并启用webpack-dev-server
=======================
文/zhangwang(简书作者)
原文链接:
所以我们来安装和配置这个Hot Module Replacement。
Hot Module Replacement
======================
文/zhangwang(简书作者)
原文链接:http://www.jianshu.com/p/42e11515c10f
Hot Module Replacement(HMR)是webpack里很有用的一个插件,它允许你在修改组件代码后,自动刷新实时预览修改后的效果。
在webpack中实现HMR也很简单,只需要做两项配置
- 在webpack配置文件中添加HMR插件;
- 在Webpack Dev Server中添加“hot”参数;
不过配置完这些后,JS模块其实还是不能自动热加载的,还需要在你的JS模块中执行一个Webpack提供的API才能实现热加载,虽然这个API不难使用,但是如果是React模块,使用我们已经熟悉的Babel可以更方便的实现功能热加载。
整理下我们的思路,具体实现方法如下
在webpack.config.js中配置如下:
//webpack.config.js
var webpack = require(‘webpack’);//引入Webpack模块供我们调用,这里只能使用ES5语法,使用ES6语法会报错
module.exports = {
devtool: ‘eval-source-map’,
entry: [‘webpack/hot/dev-server’, __dirname + ‘/app/main.js’],
output: {
path: __dirname + ‘/build’,
filename: ‘bundle.js’
},
module: {
loaders: [
{
test: /.(js|jsx)$/,
exclude: /node_modules/,
loader: ‘babel’
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin()//热模块替换插件
],
devServer: {
contentBase: ‘./build’,
colors: true,
historyApiFallback: true,
inline: true,
port: 8080,
process: true
}
};
其实,这时候已经可以正常工作了;在终端输入npm run dev
,待命令行提示webpack: bundle is now VALID
后,在浏览器中输入http://localhost:8080
,可以看到,正常显示Hello World
在webstorm中更改React返回的内容,ctrl+s
即可看到浏览器页面同步刷新,所见即所得
如果觉得这样不放心,让我们谨遵医嘱,进行如下额外配置
安装react-transform-hmr,在不对React模块进行额外的配置的前提下让HMR正常工作
npm install --save-dev babel-plugin-react-transform react-transform-hmr
在.babelrc
文件里配置babel,注意这里有一堆括号,别写错了
//.babelrc
{
“presets”: [
“react”,
“es2015”
],
“env”: {
“development”: {
“plugins”: [
[
“react-transform”,
{
“transforms”: [
{
“transform”: “react-transform-hmr”,
“imports”: [
“react”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)