2019独角兽企业重金招聘Python工程师标准>>>

之前用过一次webpack1.0构建过前端项目,github地址

新建了两个群,顺便打一波小广告:nodejs技术交流群:群号:209530601;React技术栈:群号:398240621

OK,可是正文,发现webpack2.0变化还是蛮大的,所以这里简单记录下:

关于webpack的基本使用,可以参看我另一篇文章

因为后端我用的nodejs,所以前端放在views里面,大致结构如下:

简单介绍,build存放着所有打包出来的文件,component存放所有的组件,lib里存放所有的资源文件,包括css,img等。大致如下。

下面是webpack.config.js的基本配置:

const path = require('path'),webpack = require('webpack'),HtmlWebpackPlugin = require('html-webpack-plugin'),//自动生成HTML文件ExtractTextPlugin = require('extract-text-webpack-plugin'),//提取css文件OpenBrowser = require('open-browser-webpack-plugin');const ROOT_PATH = path.resolve(__dirname);
const BUILD_PATH = path.resolve(ROOT_PATH, 'app/build');
const FILE_PATH = path.resolve(ROOT_PATH, 'app/resources');const entryFiles = {'index': path.resolve(FILE_PATH, './index/js/index'),'learningSummary': path.resolve(FILE_PATH, './learningSummary/js/learningSummary'),// 'demoWithPlugins':path.resolve(FILE_PATH,'.demoWithPlugins/js/demoWithPlugins'),// 'readingSentiment':path.resolve(FILE_PATH,'.readingSentiment/js/readingSentiment'),// 'lifeMiscellanies':path.resolve(FILE_PATH,'.lifeMiscellanies/js/lifeMiscellanies'),// 'aboutMe':path.resolve(FILE_PATH,'.aboutMe/js/aboutMe.jsx')
};const autoBuild = {entry:entryFiles,output: {path: BUILD_PATH,filename: '[hash].bundle.js',// publicPath:'/app/resources/'},plugins: [// new OpenBrowser({url:'http://localhost:9090'}),new HtmlWebpackPlugin({filename:'index.html',chunks: ['index'],title:'Nealyang'}),new HtmlWebpackPlugin({filename:'learningSummary.html',chunks: ['learningSummary']}),new ExtractTextPlugin('[hash].css'),new webpack.LoaderOptionsPlugin({pstcss:() => {return [require('precss'),require('autoprefixer')];}}),new webpack.ProvidePlugin({$:"jquery",jQuery:"jquery","window.jQuery":"jquery"})],module: {rules: [{test: /\.scss$/,use: ExtractTextPlugin.extract({fallback: 'style-loader',use: ['css-loader', 'sass-loader']}),},{test: /\.jsx?$/,exclude: /node_modules/,loaders: ['react-hot-loader','babel-loader'],include: [FILE_PATH]},{test: /\.(png|jpg|jpeg|gif)$/,loader: 'url-loader?limit=8192image-webpack'}]},resolve: {extensions: ['.js', '.jsx', '.less', '.scss', '.css'] //后缀名自动补全},devServer: {historyApiFallback: true,hot: true,inline: true,contentBase: './app/build',port: 9090},
};module.exports = autoBuild;

这里我不不知道为什么webpack2.0中热更新和open-brwser-plugin插件冲突,1.0中是可以的。

因为打算结构重构,加上react-router,并且webpack配置上按需加载以及生产环境和开发环境的不同打包配置,所以这里暂时不多细说。

后面会放最终配置代码。

目前实现react的编译热更新,文件的打包等基本功能

转载于:https://my.oschina.net/Nealyang/blog/854863

webpack2.0构建Reactjs基础工程相关推荐

  1. 从零开始,教你用Webpack构建React基础工程

    20170415更新 推荐大家使用facebook官方构建工具facebookincubator/create-react-app来创建React基础工程 前言 随着前端代码越来越多,越来越复杂,整个 ...

  2. protege5.0构建知识图谱(基础篇)

    protege5.0的基本使用介绍 今天新学习了利用protege5.0构建知识图谱,和大家分享下学习经历. protege的安装以及可视化插件graphviz的安装参照了前辈的博客,这里表示一下感谢 ...

  3. Gradle2.0用户指南翻译——第六章. 构建脚本基础

    翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tre ...

  4. webpack2 项目构建一

    最近工作忙,学习被暂停了,还是网上多看看资料,多学习学习一下,看到一些好的资料,自己想整理一下,这不,webpack2项目构建都还没有弄懂,webpack3就已经发布了,说实话周末现在真不想看书和研究 ...

  5. Android Studio新手–下载安装配置–零基础入门–基本使用–调试技能–构建项目基础–使用AS应对常规应用开发

    转自:http://blog.csdn.net/yanbober/article/details/45306483 目标:Android Studio新手–>下载安装配置–>零基础入门–& ...

  6. 六、用 Actix-web 构建异步 web工程

    六.用 Actix-web 构建异步 web工程 目前 Rust 的 web 框架已经有挺多了,考虑到可靠性,异步化,结构化,流行速度,使用简单,等多方面因素后,这里笔者最终选择了 actix-web ...

  7. 从零开始,用Webpack构建React基础教程

    20170315更新 由于webpack已更新至2.0版本,许多配置项都已改变,所以可能本文有些项已经过时了 推荐大家使用facebook官方构建工具facebookincubator/create- ...

  8. SpringCloud核心教程 | 第二篇: 使用Intellij中的maven来快速构建Spring Cloud工程

    spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行环 ...

  9. 怎样搞定分类表格数据?有人用TF2.0构建了一套神经网络 | 技术头条

    作者 | 王树义 来源 | 玉树芝兰(ID:nkwangshuyi) 以客户流失数据为例,看 Tensorflow 2.0 版本如何帮助我们快速构建表格(结构化)数据的神经网络分类模型. 变化 表格数 ...

最新文章

  1. [JAVAEE] 初识ThymeLeaf
  2. 优质手机APP开发公司的特点
  3. 前端利器—1—转型JS编程
  4. Linux 系统启动流程及其介绍
  5. 分布式开放消息系统(RocketMQ)的原理与实践
  6. FGPA异步信号问题
  7. Nginx 的配置文件介绍
  8. ASP.NET读取POP3邮件的操作
  9. Linux宝库快讯 | OpenStack中国日更名OpenInfra中国日
  10. 在屏幕中间分别显示绿色、绿低红色、白底蓝色的字符串'welcome to masm!'
  11. HDU5828 Rikka with Sequence
  12. 安卓手机型号修改工具(修改软件)使用方法跟步骤
  13. R语言基于ggplot绘制多条ROC曲线
  14. NOVELL NetWare 下的数据恢复
  15. molten php 上传,molten:PHP 应用透明链路追踪工具
  16. 活体检测论文笔记2——Deep Spatial Gradient and Temporal Depth Learning for Face Anti-spoofing
  17. 真·人机合一!MIT推出人形机器人“爱马仕”,远程遥控操作救援
  18. 如何利用网吧推广棋牌游戏
  19. 跨域问题的4种解决方案
  20. 苹果手机显示与服务器时间相差较大,iOS14时钟与系统时间不同吗 ios14时钟小组件时间不准怎么调整...

热门文章

  1. 在linux系统中下载thchs30,aishell数据处理为thchs30格式
  2. 如何维持手机电池寿命_手机如何正确充电,电池寿命长。
  3. 计算日期跨度时如何过滤工作日_学会这3个函数,解决所有关于计算工作日的难题...
  4. python1e2_Python必修基础(1)
  5. python异常处理_Python爬虫入门(5):URLError异常处理
  6. 服务器中W3SVC1文件夹的文件,完美解决IIS 服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没有注册类别...
  7. 路由器php系统时间设置时间设置时间设置时间设置时间设置,win7电脑提示系统时间设置有误请更新系统日期...
  8. 控制手机 滑动 蓝牙hid_米家LED灯泡蓝牙Mesh版,助你打造温馨的智能家庭
  9. 未来教育计算机三级课后题答案,全国计算机三级网络技术课后题答案(2016.3 未来教育).docx...
  10. java txt中统计一个字母出现的次数并储存,统计txt文件中每个字符出现的次数,并根据次数从高到低排序...