webpack构建react应用三:使用webpack Loaders 模块加载器(一)

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(
    <div>hello world</div>,
    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"]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Webpack构建React应用,可以按照以下步骤进行操作: 1. 首先,在项目根目录下创建一个package.json文件,可以使用命令`npm init -y`快速创建。 2. 接下来,安装所需的依赖包。至少需要安装以下几个包:webpackwebpack-cli、babel-loader、@babel/core、@babel/preset-reactreact。 可以通过运行以下命令来安装这些包: ```shell npm install webpack webpack-cli babel-loader @babel/core @babel/preset-react react ``` 3. 在项目根目录下创建一个名为`webpack.config.js`的文件,用于配置Webpack。 在该文件中,至少包含以下内容: ```javascript const path = require('path'); module.exports = { entry: './src/index.js', // 入口文件 output: { path: path.resolve(__dirname, 'dist'), // 输出目录 filename: 'bundle.js' // 输出文件名 }, module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-react'] } } } ] }, resolve: { extensions: ['.js', '.jsx'] } }; ``` 上述配置中,entry指定了入口文件,output指定了输出目录和文件名,module.rules中的配置指定了Babel加载使用,resolve.extensions配置允许在导入模块时省略后缀名。 4. 在根目录下创建一个名为`src`的文件夹,并在其中创建一个`index.js`文件,作为React应用的入口文件。 ```javascript import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; // 你的React组件文件 ReactDOM.render(<App />, document.getElementById('root')); ``` 5. 创建一个名为`App.js`的文件,并在其中编写React组件的代码。 ```javascript import React from 'react'; function App() { return <h1>Hello, React!</h1>; } export default App; ``` 6. 最后,在命令行中运行以下命令来构建React应用: ```shell npx webpack ``` 这将会在项目根目录下创建一个`dist`文件夹,并在其中生成一个`bundle.js`文件。这个文件就是Webpack构建后的输出文件。 现在,你已经成功使用Webpack构建了一个基本的React应用。你可以根据需要进一步配置和优化Webpack,以满足项目的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值