• webpack的安装与使用


    1.安装:

    npm install webpack webpack-cli -g

     2.使用

    1.新建项目目录"mywebpack"
    2.在项目目录下新建文件夹“modules”
    3.在modules文件夹下新建main.js
    4.main.js的内容:
    
    var hello=require("./hello")
    hello.sayHi();
    
    5.在modules文件夹下新建一个模块“hello.js”
    6.hello.js内容:
    
    //通过exports将模块暴露出来
    exports.sayHi=function () {
        document.write("<div>hello webpack</div>")
    }
    
    7.在webpack中,一个js就是一个模块
    8.在“hello.js”中通过exports来导出sayHi,在main.js中通过require("./hello")来导入hello.js,并通过hello.sayHi();来使用

     3.在webpack的配置

    1.在项目目录“mywebpack”目录下新建一个webpack.config.js
    2.webpack.config.js内容:
    
    module.exports={
        entry:"./modules/main.js",   //放main.js路径
        //output,为打包完成后,输出的一个内容
        output:{
            filename:"./js/bundle.js"  //打包的时候,就会把main.js模块和hello.js模块,打包成bundle.js模块
        },
        //module,处理各种类型的文件
        module:{
            loaders:[
                {test:/\.js$/,loader:""}
            ]
        },
        //plugins为插件,代码重用
        plugins:{},
        //resolve,路径的指向
        resolve:{},
        watch:false
    }

    4.打包

    1.在cmd中进入到项目目录下:
    d:
    cd 项目目录
    
    2.直接在cmd中输入:webpack     # 打包命令即可完成打包

    5.打包报错:

    [webpack-cli] TypeError: item.plugins.unshift is not a function
        at internalBuildConfig (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:1762:26)
        at runFunctionOnEachConfig (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:1572:27)
        at WebpackCLI.buildConfig (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:1772:9)
        at async WebpackCLI.createCompiler (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:1786:18)
        at async WebpackCLI.runWebpack (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:1890:20)
        at async Command.<anonymous> (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:912:21)
        at async Promise.all (index 1)
        at async Command.<anonymous> (D:\nodejs\node_global\node_modules\webpack-cli\lib\webpack-cli.js:1372:13)

    6.解决:

    1.将webpack.config.js中的    注释掉其他,只留下enrty和output的内容,
    2.webpack.config.js:
    
    
    module.exports={
    entry:"./modules/main.js", //放main.js路径
    //output,为打包完成后,输出的一个内容
    output:{
    filename:"./js/bundle.js" //打包的时候,就会把main.js模块和hello.js模块,打包成bundle.js模块
    },
    // //module,处理各种类型的文件
    // module:{
    // loaders:[
    // {test:/\.js$/,loader:""}
    // ]
    // },
    //plugins为插件,代码重用
    // plugins:{},
    //resolve,路径的指向
    // resolve:{},
    watch:false
    }
    3.重新使用命令打包:webpack

    7.打包成功

    1.可以看到在项目目录mywebpack下生成一个dist文件夹
    2.其下有js文件夹
    3.其下有bundle.js

    8.dist就是打包完成后自动生成的目录

    9.看打包后的效果

    1.在项目目录mywebpack文件夹下创建index.html
    2.index.html内容:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <!--直接引用dist/js/bundle.js,进行使用-->
        <script src="dist/js/bundle.js"></script>
    </body>
    </html>
    
    3.直接访问这个index.html的路径,就可以看到效果

    10.将 webpack.config.js 中的 watch

    1、watch:false 改为 watch:true,可以实现热加载,
    2.重新打包,可以实现热加载
    3.即修改 hello.js 中的 document.write("<div>hello webpack</div>") 中的“hello webpack”,修改为“hello webpack111”,
    4.刷新页面,内容也会跟着变更

    11.但是一般不这么配置

    1.不在webpack.config.js文件中配置watch
    2.但是打包命令使用:webpack --watch
    3.也能实现同样的效果

    12.

  • 相关阅读:
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    [转载]jquery版结婚电子请帖
    [转载]jquery版小型婚礼(可动态添加祝福语)
    maven向本地仓库导入jar包(处理官网没有的jar包)
    Maven的POM.xml配置大全
    Linux使用手册-时区和时间设置
    Fedora中允许mysql远程访问的几种方式
    [Keygen]IntelliJ IDEA 14.1.7
  • 原文地址:https://www.cnblogs.com/jingzaixin/p/16471406.html
Copyright © 2020-2023  润新知