使用webpack打包react项目中遇到的问题(一)

2 篇文章 0 订阅

先简单说一下webpack使用的基本步揍:
首先使用npm下载webpack

npm install webpack -g //全局安装
npm install webpack --save-dev //本地安装

官方推荐本地安装、项目依赖比较清晰
安装react相关模块

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

安装并配置babel相关模块,使其能够正确解析es6

npm install babel-core --save-dev
npm install babel-loader --save-dev
npm install babel-preset-react babel-preset-es2015 --save-dev

//以下四个阶段插件版本选择一个安装都可以可以支持es7
babel-preset-stage-0
babel-preset-stage-1
babel-preset-stage-2
babel-preset-stage-3

写配置文件:在项目根目录下新建一个名为package.config.js的文件

module.exports = {
    entry: [
        './assets/js/ManageSystem.js'
    ],
    output: {
        path: __dirname + '/assets/',
        publicPath: "/assets/",
        filename: 'bundle.js'
    },
    module: {
        loaders: [{
            test: /\.js|jsx$/,
            loaders: 'babel-loader',
            query: {
                presets: ['es2015', 'react']
            }

        }]
    }
};

安装webpack开发服务器

npm install webpack-dev-server -g

使用以下命令编译文件,即无需每次修改都使用webpack命令编译

webpack-dev-server --progress --colors

问题一:报错react.render is not a function
原因:react API更新后 React 、ReactDom成为两个独立的package,应使用ReactDom中的render方法

import React from 'react';
React.render(<App />, document.getElementById('app'));

改为:

import React from 'react';
import ReactDom from 'react-dom';
ReactDom.render(<App />, document.getElementById('app'));

问题二:报错非法使用import声明
这里写图片描述

原因:使用babel解析es6失败,babel-preset-es2015没有安装,配置文件中依赖错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值