首先介绍一个安装webpack的百度经验:https://jingyan.baidu.com/article/a3a3f811230ee58da3eb8a6e.html

推荐一个详细介绍webpack的博客:https://my.oschina.net/lsjcoder/blog/1803141

安装babel==》https://blog.csdn.net/lhtzbj12/article/details/79188342

1、webpack是什么东西?干什么用的:它一个模块打包器

作用:
1、可以当做一个服务器
2、将浏览器不识别的js语法转换为浏览器识别的js语法(将ES6转为可识别的ES5)
3、将我们的模块进行打包 ......

通过npm全局安装的工具

C:{管理员账号路径}\AppData\Roaming\npm
             
全局安装webpack :
            
(1). npm install webpack@3 -g;
             
(2). npm install webpack -dev - server@2 -g;
            
 本地安装
             
npm install webpack@3 -D;
           
npm install webpack - dev - server@2 -D;
      
2、webpack工作的原理:
      入口文件-->module(loader 处理 配置.....)---出口文件
    
                (1)、npm init -y 初始化文件
 
             
                (2)、局部安装webpack cnpm install webpack@3 --save-d                (3)、创建一个webpack.config.js
            
//引入node的核心模块
          
注:以下为js代码
 
             
const path = require("path");         
const  htmlWebpackPlugin = require("html-webpack-plugin");
        
//配置路径
      
const PATH = {
            
    /*
 
             
        path.join将第一个路径和第二个路径结合起来
 
             
        生成一个新的路径
 
             
 
             
        __dirname:当前文件的绝对路径
 
             
     */
 
             
    app:path.join(__dirname,"src/index.js"),
 
             
    main:path.join(__dirname,"dist/")
 
             
}
         
// 忽略文件:
 
 
             创建一个.gitignore文件将node_modules文件忽略:.gitignore文件中写入 node_modules;
 
             
//配置文件
 
             
module.exports = {
 
             
    //入口文件的配置信息
 
             
    entry:{
 
             
        //入口文件的地址
 
             
        app:PATH.app
 
             
    },
 
             
    //出口文件的配置信息
 
             
    output:{
 
             
        //打包完成以后的js文件的名称
 
             
        filename:"[name].js",
 
             
        //打包完成以后的js文件放置的位置
 
             
        path:PATH.main
 
             
    },
 
             
    module:{
 
             
        rules:[
     
            {
  
                //匹配哪些文件用以下的loader
                test:/\.js$/,   
                use:{
                    loader:"babel-loader",    
                    //将ES6的代码转换为ES5的代码
           options:{   
                        presets:["env"]
 
             
                    }
 
             
                }
 
             
            },
       {     
                test:/\.(css|scss)$/,
 
             
                //从右到左 从下到上
 
             
                use:[
 
             
                    "style-loader",
 
             
                    "css-loader",
 
             
                    "sass-loader"]
 
            }
  
        ]
    },  
    plugins:[
 
             
        //自动帮我们创建一个html文件 帮我们把相关的js进行引入
 
             
        new htmlWebpackPlugin({
 
             
            //生成html文件的明细
 
             
            filename:"newIndex.html",
 
             
            template:"index.html",
 
             
            title:"德玛西亚",
 
             
            header:"<h1>诺克萨斯</h1>",
 
             
            list:["张三","李四","陈亮"]       
        }),    
        new htmlWebpackPlugin({
 
             
            //生成html文件的明细
 
             
            filename:"list.html",
 
             
            template:"index.html",
 
             
            title:"德玛西亚",
 
             
            header:"<h1>诺克萨斯</h1>",
 
             
            list:["张三","李四","陈亮"]   
        })
    ]
 
             
}
 
             
 
             
/*以上这种打包方式在4.0中以废除了,4.0以下版本还可以正常使用*/
 
             
 
             
             npm install --save-dev babel-core babel-loader babel-preset-env babel-preset-react;
 
             
安装vue-loader:cnpm install vue-laoder@8.5.4 --save-dev:
 
             
cnpm install vue-html-loader --save-dev  
   
     vue-html-loader  css-loader  vue-style-loader vue-hot-reload-api@1.3.2       
cnpm install vue-laoder@8.5.4 --save-dev    
  cnpm install vue-html-loader --save-dev     
     vue-html-loader  css-loader  vue-style-loader vue-hot-reload-api@1.3.2
 
             将项目中的多个模块进行打包,把凡是js html css 等文件通过loader的方式进行模块打包
             
 1.env的配置
             
无法解析es6的函数或者类
     
Set,Map,Promise,Array.from
       
使用balble-preset-es2015/bable-perset-env不能解析
      
解决方式:
         
方式1:balble-polyfill
          
全局的,对全局变量进行定义。为开发应用(插件,框架),做准备
           
npm install bable-polyfill -S
           
方式2.bable-plugin-transform-runtime
           
 编译时解析的,外开发项目框架准备
          
npm install bable-plugin-tramsform-runtime -D 

Webpack--模块打包器的更多相关文章

  1. Webpack - CommonJs & AMD 模块打包器

    Webpack 是一个 CommonJs & AMD 模块打包器.可以把你的 JavaScript 代码分离为多个包,在需要的时候进行加载,支持预处理文件,例如 json, jade, cof ...

  2. webpack前端模块打包器

    webpack前端模块打包器 学习网址: https://doc.webpack-china.org/concepts/ http://www.runoob.com/w3cnote/webpack-t ...

  3. js模块化/js模块加载器/js模块打包器

    之前对这几个概念一直记得很模糊,也无法用自己的语言表达出来,今天看了大神的文章,尝试根据自己的理解总结一下,算是一篇读后感. 大神的文章:http://www.css88.com/archives/7 ...

  4. webpack----js的静态模块打包器

    webpack----js的静态模块打包器 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 webpack 是一个现代 J ...

  5. 浅谈Webpack模块打包工具一

    为什么要使用模块打包工具 1.模块化开发ES Modules存在兼容性问题 打包之后成产阶段编译为ES5 解决兼容性问题 2.模块文件过多 网络请求频繁  开发阶段把散的模块打包成一个模块 解决网络请 ...

  6. webpack模块打包简易版

    webpack基本使用流程(react) 1.安装webpack脚手架 cnpm install webpack webpack-cli -D 2.安装处理css的loader cnpm instal ...

  7. 浅谈Webpack模块打包工具三

    Source Map 生产代码与开发代码完全不同,如果需要调试应用的话会非常的麻烦,错误信息无法定位,Soutce Map就会逆向得到源代码, 须在打包之后的代码文件的末尾位置例如添加//# sour ...

  8. 浅谈Webpack模块打包工具四

    Webpack 生产环境优化 生产环境和开发环境有很大的差异,生产环境只注重运行效率,开发环境主要开发效率,webpack4.0开始提出了(mode)模式的概念 针对不同的环境进行不同的配置,为不同的 ...

  9. webpack打包器简单入门

    概念 webpack是一个现代javascript应用程序的模块打包器. 当webpack处理你的应用程序时,它会递归构建一个依赖图(包含了你的应用程序所需要每个模块),然后把这些模块打包到少数几个b ...

  10. 0基础手把手教你搭建webpack运行打包项目(未完待续)

    这些天在项目之余的时间学习了webpack打包项目的东西,非常荣幸的找到一些大神的文章来学习,死劲嚼了几天,终于略知一二.在以后的工作上还需继续学习,下面我将分享我这几天学到的一点东西,希望能让我一个 ...

随机推荐

  1. Windows Server 2016 安装Docker

    使用Windows自带的Hyper-V 而不是安装Docker Enterprise. 废话不多说,撸起袖子开干 管理员权限打开PowerShell (因为server版本默认是cmd不是ps,所以需 ...

  2. C# String.Format方法

    一.定义String.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项. 如: (1)string p1 = "Jackie";strin ...

  3. lecture-7 递归

    1.例题--排列 Permutation Given a collection of distinct numbers, return all possible permutations.For ex ...

  4. (转)CentOS 7常见的基础命令和配置

    CentOS 7常见的基础命令和配置 原文:http://blog.51cto.com/hujiangtao/1973566 管理服务 命令格式:systemctl COMMAND name.serv ...

  5. 《从0到1学习Flink》—— Flink 项目如何运行?

    前言 之前写了不少 Flink 文章了,也有不少 demo,但是文章写的时候都是在本地直接运行 Main 类的 main 方法,其实 Flink 是支持在 UI 上上传 Flink Job 的 jar ...

  6. 执行命令npm install XXX后仍然提示 Cannot find Module XXX

    最近遇到一个问题,在服务器上配置完node环境后 执行npm start 命令后提示 Cannot find Module "Jquery" 然后就知道可能没有安装jquery 就 ...

  7. jquery初始

    今天我们来学习Jquery的一些基本知识,jquery相对来说还是比较重要的,所以还是要好好学习的. 首先要了解什么是jQuery? l类似于python里面的模块,可以看成是一种库或者插件. 在学习 ...

  8. BZOJ4355: Play with sequence(吉司机线段树)

    题意 题目链接 Sol 传说中的吉司机线段树??感觉和BZOJ冒险那题差不多,就是强行剪枝... 这题最坑的地方在于对于操作1,$C >= 0$, 操作2中需要对0取max,$a[i] > ...

  9. vscode 常用插件安装

    设置中文语言使用快捷键[Ctrl+Shift+P],弹出的搜索框中输入[configure language],然后选择搜索出来的[Configure Display Language],locale ...

  10. Vue-watch选项

    Vue ----watch 选项 用于 监听数据变化: <!DOCTYPE html> <html lang="en"> <head> < ...