webpack安装配置

安装:
npm install webpack -g
npm install webpack-dev-server -g
webpack 配置文件

var path = require(‘path‘); module.exports = {   entry: path.resolve(__dirname, ‘app/app.js‘),   output: { path: path.resolve(__dirname, ‘build‘), filename: ‘bundle.js‘ } }
配置 package.json

"scripts": {
  "start": "webpack-dev-server",
   "build": "webpack"
}

npm run build 相当于 webpack,
npm run start 相当于 webpack-dev-server.

安装各种loader

比如babel:npm install babel-core babel-loader babel-preset-es2015 babel-preset-react --save-dev
webpack配置loadermodule.exports = {
...
 module: {
   loaders: [
    {
    test: /\.jsx?$/,
    exclude: /node_modules/,
    loader: ‘babel‘,
    query: { presets: [‘es2015‘,‘react‘] }
    },     ...    //"-loader"其实是可以省略不写的,多个loader之间用“!”连接起来。

    { test: /\.css$/, loader: ‘style-loader!css-loader?modules!postcss‘ },

    //安装postcss-loader 和 autoprefixer(自动添加前缀的插件):npm install --save-dev postcss-loader autoprefixer。
    { test: /\.js$/, loader: ‘jsx-loader?harmony‘ },
    { test: /\.scss$/, loader: ‘style!css!sass?sourceMap‘},
    { test: /\.(png|jpg)$/, loader: ‘url-loader?limit=8192‘},

    //图片文件使用 url-loader 来处理,小于8kb的直接转为base64

    { test: /\.less$/, exclude: /^node_modules$/, loader: ExtractTextPlugin.extract(‘style‘, [‘css‘, ‘autoprefixer‘, ‘less‘]) }

   ]
 }, postcss: [   require(‘autoprefixer‘)//调用autoprefixer插件  ],
 ...
};
loaders:[{
  test:一个匹配loaders所处理的文件的拓展名的正则表达式(必须)
  loader:loader的名称(必须)
  include/exclude:手动添加必须处理的文件(文件夹)或屏蔽不需要处理的文件(文件夹)(可选)
  query:为loaders提供额外的设置选项(可选)
}]

安装postcss-loader 和 autoprefixer(自动添加前缀的插件):

npm install --save-dev postcss-loader autoprefixer。

devServer

devServer: {
        contentBase: "./public", // 本地服务器所加载的页面所在的目录
        colors: true, // 终端中输出结果为彩色
        historyApiFallback: true, // 不跳转
        inline: true // 实时刷新
    }  

plugins

Hot Module Replacement:
它允许在修改组件代码后,自动刷新实时预览修改后的效果。

① 在webpack配置文件中添加HMR插件;
plugins: [
                new webpack.HotModuleReplacementPlugin()//热加载插件
        ],  

② 在Webpack Dev Server中添加“hot”参数devServer:{  historyApiFallback:true,  hot:true,  inline:true,  progress:true,//报错无法识别,删除后也能正常刷新},

HtmlWebpackPlugin:依据一个简单的index.html模板,生成一个自动引用你打包后的JS文件的新index.html。这在每次生成的js文件名称不同时非常有用(比如添加了hash值)

npm install --save-dev html-webpack-plugin

移除生成文件夹,利用此插件,index.html文件会自动生成,此外CSS已经通过前面的操作打包到JS中了。
在app目录下,创建一个index.tmpl.html文件模板,这个模板包含title等必须元素,在编译过程中,插件会依据此模板生成最终的html页面,会自动添加所依赖的 css, js,favicon等文件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Webpack Sample Project</title>
  </head>
  <body>
    <div id=‘app‘>
    </div>
  </body>
</html>

webpack常用的命令

webpack --config XXX.js //使用另一份配置文件(比如webpack.config2.js)来打包

webpack --watch //监听变动并自动打包

webpack -p//压缩混淆脚本,这个非常非常重要!

webpack -d//生成map映射文件,告知哪些模块被最终打包到哪里了

其中的 -p 是很重要的参数,曾经一个未压缩的 700kb 的文件,压缩后直接降到 180kb (主要是样式这块一句就独占一行脚本,导致未压缩脚本变得很大)
时间: 2024-10-22 11:21:01

webpack安装配置的相关文章

webpack安装配置使用教程详解

webpack安装配置使用教程详解 www.111cn.net 更新:2015-09-01 编辑:swteen 来源:转载 本文章来为各位详细的介绍一下关于webpack安装配置使用教程吧,这篇文章对于不喜欢使用 jspm测试的朋友可以参考一下. webpack 入门 目录 1 安装 webpack2 初始化项目3 webpack 配置4 自动刷新5 第三方库6 模块化7 打包.构建8 webpack 模板我最近大量使用的是 jspm,但因为用它搭建的前端开发环境中,写测试代码非常困难,而项目又

Webpack 安装配置vue环境

前言 第一次写东西,可能会比较乱,还请理解! 安装步骤 打开命令行工具,输入 node -v 查看NodeJS的版本号,若未出现版本号则请移步http://nodejs.cn/download/ 进行下载安装, 若安装成功,则查看npm是否安装,输入 npm -v 查看npm是否成功安装. 上述工作准备之后,就可以来进行vue的安装了. 可以打开https://cn.vuejs.org/v2/guide/installation.html查看官网给的安装步骤,虽然我的看起来会有些多余,但是也是为

webpack渐入佳境系列一:webpack环境配置与打包基础【附带各种 &quot;坑&quot; 与解决方案!持续更新中...】

首先介绍传统模块化开发的主流方案: 1.基与CMD的sea.js,玉伯提出的解决方案,据说原来京东团队在使用.用时才定义,就近加载.最近在浏览seajs官方文档时发现seajs的域名已经在转卖,惊恐万分之余又想起了那句话,国内团队开发的技术,不是十全九美的最好不要用.国内高强度的生活节奏与压力使得日常维护变得很吃力.(想到这里,不禁为vue捏了一把汗,不过还好vue的前景非常光明!). 2.基于AMD的require.js,之前在用.提前声明与定义.国外团队维护. 3.基于commonJS的we

webpack实用配置

前面的话 上文介绍了webpack入门,本文将详细介绍webpack实用配置 版本号 以entry.js打包为bundle.js为例,出口的filename可以设置为[id].[name].[hash].[chunkhash]等替换形式,如下所示 var webpack = require('webpack'); module.exports = { entry: './entry.js', //入口文件 output: { path: __dirname,//出口路径 filename: '[

【JavaScript】 Webpack安装及文件打包

背景 最近开启一个新项目,需要对前端的各类资源文件进行打包,经过多方调研后,决定使用webpack工具.但是网上的教程多是将webpack直接作为服务器使用,而我只是想将其作为单纯的资源打包工具而已.经过多方调研,终于发现如何实现webpack的文件打包功能. 准备 在使用webpack之前,必须先要安装nodejs和npm. 安装完npm后,由于npm国内访问非常慢,可以设置为从淘宝的镜像下载各种资源包. npm config set registry http://registry.cnpm

Gulp的安装配置过程和一些小坑

谈谈gulp. 项目尾声,老师叫我去熟悉一下grunt前端自动化工具,第一次知道这种东西,我就查各种资料啊,发现grunt已经‘过时’了,大家都用gulp和webpack.我当然选择了配置最简单的gulp=-= gulp是基于Nodejs的自动任务运行器,基本流程就是先安装nodejs,通过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所需要的gulp插件,然后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最后通过命令提示符运行gulp(web

vue的安装配置

1.访问vue的官网: https://cn.vuejs.org/v2/guide/installation.html安装配置 2.安装淘宝镜像项目搭建 1.安装node  到官网下载安装.  (中)https://nodejs.org/zh-cn/  (英)https://nodejs.org/en/ 2.安装cnpm镜像  (node自带安装了npm,国内直接使用 npm 的官方镜像是非常慢的, 淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率

webpack详细配置解析

阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段时间慢慢阅读本文,你的疑惑一定一个一个都会消失:如果你以前没怎么接触过Webpack,而你又你对webpack感兴趣,那么动手跟着本文中那个贯穿始终的例子写一次,写完以后你会发现你已明明白白的走进了Webpack的大门. //一个常见的Webpack配置文件 var webpack = require('webp

webpack基础配置

现今的很多网页其实可以看做是功能丰富的应用,它们拥有着复杂的JavaScript代码和一大堆依赖包.为了简化开发的复杂度,前端社区涌现出了很多好的实践方法 模块化,让我们可以把复杂的程序细化为小的文件; 类似于TypeScript这种在JavaScript基础上拓展的开发语言:使我们能够实现目前版本的JavaScript不能直接使用的特性,并且之后还能转换为JavaScript文件使浏览器可以识别: Scss,less等CSS预处理器 ... 这些改进确实大大的提高了我们的开发效率,但是利用它们