webpack 的使用教程

boyanx6个月前技术教程19

今天接触webpack,就着官网上的教程一步一步的玩,把自己的理解总结以便和大家交流

webpack的主要特点

1. 可以把js,css,image,甚至文本当成模块来处理,并通过require的方法来调用。
2. 能够自动识别模块之间的依赖。

webpack的安装,通常是使用npm。

创建一个文件夹vue-webpack-basic,使用命令行进入该文件夹,输入npm install webpack,当然你也可以使用全局安装npm install webpack -g

2. 配置

  1. 在项目的根目录上创建配置文件 webpack.config.js,它的作用如同常规的 gulpfile.js/Gruntfile.js。

添加如下结构目录:

其中:

  • dist是最终文件生成的目录
  • lib 一些公共的类库
  • node_modules目录是通过npm安装的一些模块的目录所在,如jquery,vue等一些框架
  • src 是源码目录,开发时的文件都放在此目录下
  • index.html 应用入口页面
  • package.json项目描述文件
  • README.md 项目说明文件
  • webpack.config.js wepack工具的配置文件

各个文件的内容分别如下

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="dist/app.js" charset="utf-8"></script>  
</head>
<body>
    <div class="name"></div>
</body>
</html>

只需要在html文件中引入入口文件entry

entry.js
require('../css/index.css');
var $ = require('jquery');
console.log($('body'));
$(function{
    $('.name').text("通过jq录入的数据");
});

document.write(require("../js/content.js")); 

注意:webpack 内置的功能只能处理js,如果想要通过require的方法来调用css,image等其他格式的文件,需要使用相应的插件:

  1. 使用css-loaderstyle-loader通过require来调用css
    • 安装插件 npm install css-loader style-loader
  2. 在webpack中使用第三方库,只需要在根目录使用npm install packageName下载安装需要的库,然后在webpack页面中通过require的形式加载进来,就可以直接使用了。如此处的jquery。

content.js
module.exports = "It works from content.js.";

即便是文本也可以使用CommonJs的加载到js文件中。

index.css
body{
    background-color: green;
}

执行命令 webpack src/js/entry dist/app.js --modulebind 'css=style!css',即可生成最终的打包文件.

运作的流程大概如下

通过入口文件entry.js加载content.js和style.css,然后把entry.js生成到dist/app.js中,在html中直接引入文件app.js即可。
附上效果图
是否觉得上面的命令太长了,感觉太土了?不用怕,那些参数我们都是可以通过配置文件来配置的。
module.exports = {
    entry: "./src/js/entry.js",
    output: {
        path: "./dist",
        filename: "app.js"
    },
    module: {
        loaders: [
 { test: /\.css$/, loader: "style!css" }
        ]
    }
};
  • entry:指定入口文件
  • output:指定输出文件
  • module.loaders:指定加载器,在webpack中,可以配置各种各样的加载器,这样我们就不需要担心sass,less,等一些文件的编译问题了。

现在我们就可以直接的使用命令webpack来编译和调试我们的应用了,另外,我们还可以加入--watch 参数,这样每次有改动的时候就不需要重新编译应用了。

接下来还会有更加详细的参数使用和说明,包括各种插件的使用,还有和glup的配合使用。我会在学习的过程中一一做记录,同时直播出来和大家共同交流学习

标签: jquery loading

相关文章

Bootstrap5 响应式布局:移动端适配终极方案

你的网页在手机上又双叒叕变形了?老板拍桌要求三天搞定移动端?别慌,Bootstrap5的响应式魔法正在待命!移动端流量早已超越桌面端,但你的网站还在用“缩小版”应付手机用户?研究表明,53%的用户会因...

伟景行 citymaker 从入门到精通(1)——js开发,最基本demo,加载cep工程文件

开发环境:citymaker 7(以下简称cm),jquery,easyui 1.4(界面),visual studio 2012(没有vs,部署到IIS也行,html在本地目录双击打开可用)以下演示...

DevExpress Demo示例展示:多功能站点插件

DevExpress ASP.NET MVC中有一个多功能扩展集合,包括RatingControl, the Round Panel,Callback Panel (通过callbacks自动更新内容...

小技巧,如何使用 webpack 降低前端资源文件维护成本

前言前端现在开发某个常见功能,直接会在 npm 找到合适的包,这些包存在于 node_modules 目录下。如何减少包体积,用下 CDN 加速,或者这个模块只有 script 标签导入方式时,直接从...

用lazyload.js释放你网站的宽带

本教程将使用Visual Studio 2013手把手教你用lazyload.js释放你网站的宽带。本文源码:https://github.com/shellcheng/UsedLazyjs本文地址:...

前端面试:异步加载和延迟加载的理解?

回答:异步加载和延迟加载是前端优化网站性能的两种方法。异步加载的方案: 动态插入script标签通过ajax去获取js代码,然后通过eval执行script标签上添加defer或者async属性创建并...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。