博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webpack构建react应用三:使用webpack Loaders 模块加载器(一)
阅读量:4352 次
发布时间:2019-06-07

本文共 2027 字,大约阅读时间需要 6 分钟。

Webpack 本身只能处理原生的 JavaScript模块,但是loader转换器可以将各种类型的资源转换成JavaScript模块。这样,任何资源都可以成为 Webpack 可以处理的模块。

Webpack将所有静态资源都认为是模块,比如JavaScript,CSS,LESS,TypeScript,JSX,CoffeeScript,图片等等,从而可以对其进行统一管理。为此Webpack引入了加载器的概念,除了纯JavaScript之外,每一种资源都可以通过对应的加载器处理成模块。和大多数包管理器不一样的是,Webpack的加载器之间可以进行串联,一个加载器的输出可以成为另一个加载器的输入。比如LESS文件先通过less-load处理成css,然后再通过css-loader加载成css模块,最后由style-loader加载器对其做最后的处理,从而运行时可以通过style标签将其应用到最终的浏览器环境。
上一章我们已经成功的在控制台输出了hello world!接下来我们进一步的去完善,加入react。

安装react

npm install react --save
npm install react-dom --save

安装完成之后,打开entry.js,我们在这里加入react代码,如下图

import React from 'react';import { render } from 'react-dom';render(    
hello world
, document.getElementById('app'));

加入后会发现这里会报错!因为在webpack看来一切都是模块,只有通过合适的loaders,它们才可以被当做模块被处理。

这里写图片描述

安装合适的loaders

npm install babel-loader --save-dev

npm install babel-core --save-dev //安装加载器 babel-loader 和 Babel 的 API 代码 babel-core
npm install babel-preset-es2015 --save-dev //ES2015转码规则
npm install babel-preset-react --save-dev //react转码规则
npm install babel-preset-stage-0 --save-dev //ES7不同阶段语法提案的转码规则(共有4个阶段),选装一个,这里我装的是stage-0
npm install babel-preset-stage-1 --save-dev
npm install babel-preset-stage-2 --save-dev
npm install babel-preset-stage-3 --save-dev
也可以一起安装
npm install babel-loader babel-core babel-preset-es2015 babel-preset-react babel-preset-stage-0 --save-dev

写入配置

const path = require('path');module.exports = {    entry: "./src/entry.js",    output: {        path: '/dist/',        filename: "bundle.js",        publicPath: '/dist/'    },    module: {        rules: [            {                test: /\.js$/,                loader: 'babel-loader',                include: [                    path.resolve(__dirname, "src")                ],                options: {                    presets: ["es2015", "react","stage-0"]                },            },        ],    }}

运行npm run dev 打开页面就可以看到hello world了!

这里建议把presets这里的转码规则写在根目录下的.babelrc的文件里面

{  "presets": ["es2015", "react","stage-0"]}

转载于:https://www.cnblogs.com/tony-xf/p/7359438.html

你可能感兴趣的文章
与TIME_WAIT相关的几个内核参数修改测试讨论结论
查看>>
(转)用graph-easy描绘kubenetes描绘k8s组件逻辑图
查看>>
request.getParameter()获取前台值为null
查看>>
路飞学城Python-Day186
查看>>
django Paginator分页插件
查看>>
关于APP自动化工程的一点小想法
查看>>
vc++post方式登录网站
查看>>
框架标签
查看>>
求职基础复习之冒泡排序c++版
查看>>
【TCP/IP】Ethernet II VS 802.3
查看>>
WebService学习总结(二)——WebService相关概念介绍
查看>>
webpack构建react应用三:使用webpack Loaders 模块加载器(一)
查看>>
Java JDBC
查看>>
走势终完美 --执子之手
查看>>
补全左括号
查看>>
javascript中关于坐标 大小 的描述
查看>>
8086CPU各寄存器的用途
查看>>
AngularJs中,如何在render完成之后,执行Js脚本
查看>>
Nginx 防盗链
查看>>
如何讓Android系統顯示CJK擴展區漢字
查看>>