Webpack结合ES6

一、概述

ES6现在正是风华正茂的时候,各个公司都是 尝试去使用,并且作为前端工程师ES6也是体现技术的亮点。但是,现在的浏览器对es6支持不是 特别的兼容,最终还是需要把es6转换为es5,webpack使用babel-loader加载器进行转换,它的配置 也是非常的容易。

二、配置babel-loader

如果现在你的项目还没有对ES6的语法支持,那就有点没有逼格了,其实大家都知道这个也很简单,因为我们有伟大的Babel

首先 装各种loader

npm install babel-loader babel-preset-es2015 transform-loader --save-dev

 然后配置加载器

var webpack = require(‘webpack‘);
var WebpackDevServer = require("webpack-dev-server");
var path = require(‘path‘);
var CURRENT_PATH = path.resolve(__dirname);
// 获取到当前目录
var ROOT_PATH = path.join(__dirname, ‘../‘);
// 项目根目录
var MODULES_PATH = path.join(ROOT_PATH, ‘./node_modules‘);
// node包目录
var BUILD_PATH = path.join(ROOT_PATH, ‘./dist‘);
// 最后输出放置公共资源的目录
var HtmlWebpackPlugin = require(‘html-webpack-plugin‘);
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var CopyWebpackPlugin = require(‘copy-webpack-plugin‘);
module.exports = {
        //项目的文件夹 可以直接用文件夹名称 默认会找index.js ,也可以确定是哪个文件名字
        entry: {
            app: [‘./src/js/index.js‘],
            vendors: [‘jquery‘, ‘moment‘], //需要打包的第三方插件
            login: [‘./src/css/login.less‘]
        },
        //输出的文件名,合并以后的js会命名为bundle.js
        output: {
            path: path.join(__dirname, "dist/"),
            publicPath: "http://localhost:8088/dist/",
            filename: "bundle_[name].js"
        },
        module: {
            loaders: [
                // 把之前的style&css&less loader改为
                {
                    test: /\.css$/,
                    loader: ExtractTextPlugin.extract(‘style-loader‘, ‘css-loader‘, ‘postcss-loader‘),
                    exclude: /node_modules/

                }, {
                    test: /\.less$/,
                    exclude: /node_modules/,
                    loader: ExtractTextPlugin.extract(‘style‘, ‘css!autoprefixer?{browsers: ["last 2 version", "IE 8", "Android 4.0", "iOS 6"]}!less?strictMath&noIeCompat!postcss‘)
                },
                { test: /\.(png|jpg|gif|svg)$/, exclude: /node_modules/, loader: ‘url?limit=8092‘ },
          {test: /\.js$/,exclude: /node_modules/,use: {loader: ‘babel-loader‘,options: {presets: [‘es2015‘]}}
                }]}

es2015这个参数是babel的plugin,可以支持各种最新的es6的特性。现在我们可以改掉CommonJS风格的文件了。

sub.js

export default function() {
  var element = document.createElement(‘h2‘);
  element.innerHTML = "Hello h2 world hahaha";
  return element;}

index.js

var login=require(‘./login‘);
var data = require(‘data‘);
require(‘./../css/index.css‘);
require(‘./../css/login.less‘);
import generateText from ‘./sub‘;
$("#welcome").html(generateText());

执行

webpack-dev-server --hot --inline
时间: 2024-10-15 22:37:54

Webpack结合ES6的相关文章

webpack+babel+ES6+react环境搭建

webpack+babel+ES6+react环境搭建 步骤: 1 创建项目结构 注意: 先创建一个项目目录  react  这个名字自定义,然后进入到这个目录下面 mkdir app //创建app目录 用来存放项目源文件 mkdir dist // 创建dist目录 用来存放打包好的文件 touch .gitignore //创建.gitignore 用来添加git 忽略的文件 touch webpack.config.js //创建webpack的配置文件 cd app //进入到app目

webpack + react + es6, 并附上自己碰到的一些问题

最近一直在学react,react的基础部分已经学得差不多了,然而自己并没有做详细的记录,有兴趣的同志可以参考阮一峰老师的教程,个人觉得挺不错的,链接如下:https://github.com/ruanyf/react-babel-webpack-boilerplate, 学完了基础就想倒腾倒腾,webpack整合react加es6. 1.webpack + react + es6 1.1 新建项目 项目目录如下 具体的内容就不解释了,大家应该都看得懂 1.2 配置webpack 配置文件如下

webpack+react+es6开发模式

一.前言 实习了两个月,把在公司用到的前端开发模式做个简单的整理.公司里前端开发模式webpack+react+redux+es6,这里去掉了redux. webpack, react, redux等学习网址:http://www.cnblogs.com/hujunzheng/p/5405780.html 二.简单的步骤条组件 1.通过react自定义的组件进行模拟   注:只是用了react,用到相关react的js请到 https://github.com/hjzgg/webpack-rea

Webpack+Vue+ES6 前端组件化开发mobile-multi-page应用实战总结

本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 项目上线有一段时间了,一个基于webpack+vue+ES6的手机端多页面应用.其实说是多页面应用,实际上在webpack中属于四个app,  如果真是做纯单页面,那应该有二三十个页面吧.所以我这里的多页面应用,是分为四个SPA.比如微信最下面,有四个导航,微信,通讯录,发现,我. 那么这四个导航,就是我的四个SPA,配置多个入口即可. 在这里就不说太多代码了,项目结构将会放

webpack学习(五)—webpack+react+es6

如果你看过webpack学习系列的前一个文章,接下来做的东西会比较简单 :webpack学习(四)- webpack-dev-server react发展的很快,现在大部分开发react相关的项目,都会用到这个组合:webpack+react+es6 还是以一个项目举例,项目中的package.json是生成的,"devDependencies"都是自己安装加入,如果拷贝网上的资料,可以npm install直接生成.而为了一探react的具体开发流程,还是自己一个个安装比较好. 项目

webpack实现es6转es5

Webpack实现es6转换为es5 安装插件 npm install --save-dev babel-loader @babel/core @babel/preset-env 配置 在webpack.config.js中的module的rules中,添加一条新的loader { test: /\.js/, //babel转化es6到es5 exclude: /node_modules/, use: { loader: "babel-loader", options: { prese

webpack React+ES6

webpack踩坑之路——构建基本的React+ES6项目 webpack是最近比较火的构建工具,搭配上同样比较火的ReacJS与ES6(ES2015)一定是现在很多潮流 programmer 的追求. 废话不多,下面就就看下如何从0搭起我们的构建工具. 安装 全局安装webpack,如果安装后还是提示没有webpack commond,可以尝试通过超级管理员身份安装. $ npm install webpack -g $ sudo npm install webpack -g  或者在项目里进

webpack编译es6

1 安装 已安装npm前提下,先全局后在使用的文件夹下安装局部,npm init 初始化package.json npm install webpack --save-dev 2 测试           运行后生成b.js 运行除了直接webpack命令,还可以修改package.json里面,在scripts里添加 "start":"webpack",然后npm start就可以了,npm run start一样,跟vue-cli全家桶的npm run dev一

用 Webpack 和 ES6 转换快速开发 Rails 的富客户端

Fast Rich Client Rails Development With Webpack and the ES6 Transpiler 有更好的方式把 JavaScript 生态引入 Rails. 你有没有: 想知道是否有更好的方式在现有 Ruby on Rails 工程下使用现代 JavaScript 客户端框架? 烦恼怎样整合那些被打包成"模块"的 JavaScript 库和例子? 发现在全局命名空间下乱挂垃圾的弊端. 听说过 ES6 (又叫 Harmony),下一代 Jav