webpack--1

Posted 前端傻狍子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack--1相关的知识,希望对你有一定的参考价值。

    webpack可以看做是模块打包机,他会分析你的项目结构,找到javascript模块以及其他语言将其转换和打包为合适的格式供浏览器使用

WebPack和Grunt以及Gulp相比有什么特性?

        Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案.

        Grunt和Gulp的工作方式是:在一个配置文件中,指明对某些文件进行类似编译,组合,压缩等任务的具体步骤,工具之后可以自动替你完成这些任务;

        Webpack的工作方式是:把你的项目当做一个整体,通过一个给定的主文件(如:index.js),Webpack将从这个文件开始找到你的项目的所有依赖文件,使用loaders处理它们,最后打包为一个(或多个)浏览器可识别的JavaScript文件。

        如果实在要把二者进行比较,Webpack的处理速度更快更直接,能打包更多不同类型的文件。

正式使用webpack.

   1.安装

        新建一个文件夹,在终端中转到该文件夹后执行指令完成安装

//全局安装
npm install -g webpack
//安装到你的项目目录
npm install --save-dev webpack

    2.使用前的准备

        a.在终端中使用npm init命令自动创建package.json文件

        b.在本项目中安装Webpack作为依赖包

// 安装Webpack
npm install --save-dev webpack

c.回到之前的空文件夹,并在里面创建两个文件夹,app文件夹和public文件夹,app文件夹用来存放原始数据和我们将写的JavaScript模块,public文件夹用来存放之后供浏览器读取的文件(包括使用webpack打包生成的js文件以及一个index.html文件)。接下来我们再创建三个文件:

  • index.html --放在public文件夹中;

  • Greeter.js-- 放在app文件夹中;

  • main.js-- 放在app文件夹中;


d.我们在index.html文件中写入最基础的html代码,它在这里目的在于引入打包后的js文件(这里我们先把之后打包后的js文件命名为bundle.js,之后我们还会详细讲述)。

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">  <head>    <meta charset="utf-8">    <title>Webpack Sample Project</title>  </head>  <body>    <div id='root'>    </div>    <script src="bundle.js"></script>  </body></html>

我们在Greeter.js中定义一个返回包含问候信息的html元素的函数,并依据CommonJS规范导出这个函数为一个模块:

// Greeter.js
module.exports = function() {
 var greet = document.createElement('div');  greet.textContent = "Hi there and greetings!";
  return greet; };

main.js文件中我们写入下述代码,用以把Greeter模块返回的节点插入页面。

//main.js 
const greeter = require('./Greeter.js');
document.querySelector("#root").appendChild(greeter());


3.正式使用webpack

webpack可以在终端中使用,在基本的使用方法如下:

# {extry file}出填写入口文件的路径,本文中就是上述main.js的路径,
# {destination for bundled file}处填写打包文件的存放路

# 填写路径的时候不用添加{}
webpack {entry file} {destination for bundled file}

# webpack非全局安装的情况
node_modules/.bin/webpack app/main.js public/bundle.js

结果可以看出webpack同时编译了main.js Greeter,js,现在打开index.html,可以看到结果

Hi there and greetings!


以上是关于webpack--1的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器