最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 【webpack参数配置系列】之配置你的第一个webpack

    正文概述 掘金(YoungHorn)   2020-11-24   992

    如今各种前端框架大行其道,而大部分框架内部也对webpack配置做了隐藏,目的当然是让你用起来更方便,降低你的学习成本。但是这也让webpack对于我们更像是一个黑盒,只知道如何使用脚本命令,而对于其内部的参数配置以及底层原理了解甚少。所以我打算出一个系列来讲一讲webpack的参数配置,和大家一起学习webpack。

    一、webpack是什么?

    在webpack的中文文档上有这么一段官方定义

    二、安装webpack

    //初始化包,生成package.json
    npm init 
    
    //这里最好是在项目中安装webpack,而不是全局安装,因为不同项目需要的webpack版本可能不一样
    //安装webpack-cli的目的是为了在命令行中能正确运行webpack指令,不安装的话是运行不了的
    npm install webpack webpack-cli --save-dev
    
    //此时用webpack -v是查看不了版本的,因为那样node会到全局去找webpack,应该使用npx webpack -v来查看版本
    npx webpack -v
    

    三、代码场景

    新建一个src目录,然后创建以下JS文件作为我们的业务代码

    //header.js
    function Header() {
    	var dom = document.getElementById('root');
    	var header = document.createElement('div');
    	header.innerText = 'header';
    	dom.append(header);
    }
    
    module.exports = Header;
    
    //content.js
    function Content() {
    	var dom = document.getElementById('root');
    	var content = document.createElement('div');
    	content.innerText = 'content';
    	dom.append(content);
    }
    
    module.exports = Content;
    
    //sidebar.js
    function Sidebar() {
    	var dom = document.getElementById('root');
    	var sidebar = document.createElement('div');
    	sidebar.innerText = 'sidebar';
    	dom.append(sidebar);
    }
    
    module.exports = Sidebar;
    
    //index.js
    var Header = require('./header.js');
    var Sidebar = require('./sidebar.js');
    var Content = require('./content.js');
    
    new Header();
    new Sidebar();
    new Content();
    

    然后新建一个dist目录,在里面创建一个index.html文件,并在script标签中引入打包后的JS文件

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>document</title>
    </head>
    <body>
    	<div id='root'></div>
    	<script src='./bundle.js'></script>
    </body>
    </html>
    

    四、配置webpack参数

    webpack参数要在webpack.config.js中配置,所以我们先来新建一个webpack.config.js文件,然后一起来学习最简单的参数配置。

    这里需要注意的是,path后面要写一个绝对路径,所以我们需要引入一个node的核心模块,然后调用这个模块的resolve方法,把__dirname这个node里面的变量(它指的就是当前webpack.config.js所在的目录的路径)和dist做一个结合。这样就生成了dist文件夹的绝对路径了。

    //在webpack.config.js中做如下配置
    
    //引入一个node的核心模块
    const path = require('path');
    
    module.exports = {
    	//entry是项目打包的入口文件,指从哪一个文件开始打包
    	entry: './src/index.js',
        	//output里面是一些关于输出的配置
    	output: {
        		//filename参数是给打包好的文件取名字
    		filename: 'bundle.js',
            	//path参数可以指定打包好的文件放在哪个文件夹下,而path需要一个绝对路径,所以我们
                	//需要引入一个node核心模块,然后调用这个模块的resolve方法,把__dirname这node里面
                    //的变量(它指的就是当前webpack.config.js所在的目录的路径)和dist做一个结合,
                    //这样就生成了dist文件夹的绝对路径了。
    		path: path.resolve(__dirname, 'dist')
    	}
    }
    

    当然,我们还可以在package.json中配置脚本命令,使得我们的打包命令更简洁

    "scripts": {
        "bundle": "webpack"
      },
    

    最后,在当前根目录下运行npm run bundle就可以完成对index.js文件的打包。此时,将index.html文件拖到浏览器中就可以看到页面正确显示了

    这里讲的都是webpack最基本的入门配置,webpack的配置参数可以说多如牛毛,还有很多基础配置比如说像loader和plugin。loader可以帮我们打包除JS之后的文件,例如CSS文件和图片。而plugin插件可以帮我们完成很多功能,使我们的打包变得更便捷。这些更进一步的配置会在后面的系列中讲解,敬请期待。

    PS:封面图来自@一村那点事儿(侵删)


    起源地下载网 » 【webpack参数配置系列】之配置你的第一个webpack

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元