本篇内容

  • 前言
  • 配置入口和输出
  • 热更新
  • loader配置
  • js代码压缩
  • html的打包与发布
前言
  1. //全局安装
  2. npm install -g webpack3.6.0
  3. npm init
  4. //安装到你的项目目录
  5. npm install --save-dev webpack //本地化安装是防止全局的版本冲突,团队配合时也应注意node跟webpack版本的统一性
  6. //在package.json中
  7. "dependencies": {
  8. //生产环境相关依赖 cnpm i -S/--save xxx
  9. },
  10. "devDependencies": {
  11. //开发环境相关依赖 cnpm i -D/--save-dev xxx
  12. }
  13. //另:
  14. cnpm i -g live-server
  15. //使用:
  16. live-server //(直接到开服务器进入项目根目录)
webpack.config.js配置入口和输出
  1. //新建工程主文件夹
  2. md src
  3. echo >> main.js
  4. echo >> index.html
  5. //根目录下配置文件
  6. cd ../
  7. echo >> webpack.config.js
  8. const path=require('path');
  9. module.exports={
  10. entry:{
  11. main:'./src/main.js', //键名决定打包后的名字
  12. main2:'./src/main2.js', //多入口
  13. },
  14. output:{
  15. path:path.resolve(__dirname,'dist'),
  16. filename:'[name].js' //根据入口名字生成相应的文件
  17. },
  18. module:{},
  19. plugins:[],
  20. devServer:{}
  21. }
  22. webpack 即可打包查看结果
热更新(该方式页面会刷新)
  1. cnpm i -D webpack-dev-server2.8.2
  2. //配置热更新
  3. devServer:{
  4. contentBase:path.resolve(__dirname,'dist'),
  5. host:'192.168.1.122',
  6. compress:true, //压缩
  7. port:1234
  8. }
  9. //在package.json中
  10. "scripts": {
  11. "server": "webpack-dev-server" //--open直接运行并打开浏览器'webpack-dev-server --open'
  12. },
  13. //运行
  14. npm run server

如果热更新有问题,另加插件

  1. plugins: [
  2. //...
  3. new webpack.HotModuleReplacementPlugin(), //webpack自带
loader配置

如:style-loader css-loader

  1. cnpm i -D style-loader css-loader
  2. // webpack.config.js
  3. module:{
  4. rules:[
  5. {
  6. test:/\.css$/, //要匹配的文件后缀名
  7. loaders:['style-loader','css-loader']
  8. // include/exclude //(需要处理/不需要处理)
  9. }
  10. ]
  11. },
  12. //main.js
  13. import css from './css/index.css'; //被打包再js文件中
  14. //运行
  15. npm run server
js代码压缩
  1. const uglify=require('uglifyjs-webpack-plugin');
  2. plugins:[
  3. new uglify()
  4. ],
html的打包与发布(在此之前并不能直接生成html文件,在dist中,.js文件也为注入)
  1. cnpm i -D html-webpack-plugin
  2. const htmlPlugin=require('html-webpack-plugin');
  3. plugins:[
  4. // new uglify()
  5. new htmlPlugin({
  6. minify:{ //压缩
  7. removeAttributeQuotes:true //去除标签属性的''
  8. },
  9. hash:true, //防止缓存的影响
  10. template:'./src/index.html'
  11. })
  12. ],
  13. //运行
  14. webpack

注意:

  1. cnpm i live-server //注意:与cnpm i -g live-server效果一样
  2. cnpm i --production //只安装生产环境的安装包

项目地址:https://github.com/adoctors/webpack-3.6.0-demo1

webpack@3.6.0(1) -- 快速开始的更多相关文章

  1. Spring Boot 2.0 的快速入门(图文教程)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! Spring Boot 2.0 的快速入门(图文教程) 大家都 ...

  2. .Net Core 3.0 IdentityServer4 快速入门

    .Net Core 3.0 IdentityServer4 快速入门 一.简介 IdentityServer4是用于ASP.NET Core的OpenID Connect和OAuth 2.0框架. 将 ...

  3. .Net Core 3.0 IdentityServer4 快速入门02

    .Net Core 3.0 IdentityServer4 快速入门 —— resource owner password credentials(密码模式) 一.前言 OAuth2.0默认有四种授权 ...

  4. webpack入门级 - 从0开始搭建单页项目配置

    前言 webpack 作为前端最知名的打包工具,能够把散落的模块打包成一个完整的应用,大多数的知名框架 cli 都是基于 webpack 来编写.这些 cli 为使用者预设好各种处理配置,使用多了就会 ...

  5. WPF 4.0 DatePicker 快速录入

    WPF 4.0的DatePicker在通过键盘录入日期的时候是非常让人郁闷的.必须按照日期的格式来完整输入例如,比如输入“2010/10/10”才能识别.而实际上在一些要求快速录入的场合,用户更希望直 ...

  6. 【翻译】Webpack 4 从0配置到生产模式

    查看原文 webpack 4 发布了! webpack 4 作为一个零配置的模块打包器 webpack 是强大的并且有许多独一无二的特点但是有一个痛点就是配置文件. 在中型到大型项目中为webpack ...

  7. webpack打包vue2.0项目时必现问题(转载)

    原文地址:http://www.imooc.com/article/17868 [Vue warn]: You are using the runtime-only build of Vue wher ...

  8. Spring Boot 2.0 教程 | 快速集成整合消息中间件 Kafka

    欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site ...

  9. Android7.0 添加快速设定Quick Settings Tile

    Android7.0新推出了一个非常实用的功能--添加快速设定(或者翻译成快速设置),但是感觉社区里关注的人比较少,可能目前为止国内还没有Android7.0的手机,但是越早接触越好,甚至可以告诉产品 ...

随机推荐

  1. cocos2dx 中 string 转json

    string jsonData = warriors.toStyledString().c_str(); Json::Value parseData; Json::Reader reader; rea ...

  2. a note of R software write Function

    Functionals “To become significantly more reliable, code must become more transparent. In particular ...

  3. 仿联想商城laravel实战---4、验证(lavarel的表单验证如何使用)

    仿联想商城laravel实战---4.验证(lavarel的表单验证如何使用) 一.总结 一句话总结: 验证规则和验证信息的数组:在控制器的方法中 1.注册页面中的用户名正确(比如是否重名,字段长度是 ...

  4. Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示

    Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 ...

  5. while( c= getchar(c) &&c!='\n')为什么错误

    运算顺序有关,详见 运算符优先级 代码1: #include<iostream> using namespace std; int main() { char c; int m=0; wh ...

  6. PS 滤镜——漩涡 vortex

    %%% Vortex %%% 漩涡效果 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS A ...

  7. 【原创】C++实现获取本机机器名及外网IP代码

    上代码: #include "stdafx.h" #include <WINSOCK2.H> #include <urlmon.h> #pragma com ...

  8. Gym - 100851J: Jump(交互+构造+(大胆瞎搞)))

    题意:给定长度为N的01串,现在让你猜这个串,猜的次数要不超过N+500次. 每次你猜一个串,系统会返回N/2,或N,或0.当且当有N/2个位置猜对,N个位置猜对,其他. 思路:因为信息不多,没有关联 ...

  9. ACM学习历程—HDU 3092 Least common multiple(数论 && 动态规划 && 大数)

    Description Partychen like to do mathematical problems. One day, when he was doing on a least common ...

  10. bzoj 2002: 弹飞绵羊 Link-Cut-Tree

    题目: Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置, ...