webpack简介

我们都知道,Webpack 是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载。通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块、 AMD 模块、 ES6 模块、CSS、图片、 JSON、Coffeescript、 LESS 等。

一、安装nodejs

因为Webpack也是基于Nodejs的,当然,首先我们就需要安装nodejs了。

1、直接去官网地址(https://nodejs.org/en/download/)下载安装文件安装即可,跟安装普通软件一样简单。

2、通过如下命令测试是否成功安装nodejs和npm

打开windows命令提示符(在运行中输入cmd即可打开),输入命令:node -v

回车,出现nodejs的版本号,说明nodejs安装成功。

输入命令:npm -v

回车,出现npm的版本号,说明npm也安装成功了。

说明:因为node安装包中已集成了npm,所以在安装nodejs的同时也安装了npm。

如果你已经安装好Nodejs和npm了,这一步就可以跳过了。

二、 全局安装webpack

用 npm 安装 Webpack,命令如下:

npm install webpack -g

这时,我们已经把webpack 安装到全局环境了,大家可以通过命令行 webpack -v 查看版本号(2.2.1)。

三、 本地项目安装webpack

首先,在安装webpack前,我们先要确保package.json文件已经就绪,如果没有package.json文件,我们先要通过 npm init创建package.json,因为package.json里面蕴含了丰富的信息,包括当前项目的依赖模块,自定义的脚本任务等等。

然后,我们通过如下命令,将webpack安装到我们项目的依赖中聊,这样我才可以使用项目本地版本的 webpack,命令如下:

npm install webpack --save-dev

到这我们的准备都做好了,下面我们就可以开始用webpack了。

四、使用webpack

在使用webpack,我们先创建一个项目,本例是通过如下命令创建的,当然大家可以通过手动创建的方法创建的。

最后生成的项目如图所示:

说明:

1、src,是本例用来存放源文件的目录(也就是没有打包的文件),里面的scripts存放js等文件,style是存放css文件。

2、dist,是本例用来存放打包后文件的目录。

为了演示如何使用webpack,我们先来创建1个js文件hello.js和index.html,一个样式style.css。

hello.js代码如下:

function yuan(){

var yuan="我是一个js文件啊,刚被创建";

document.getElementById("yuan").innerHTML=yuan;

}

yuan();

index.html:

Document

style.css

body{

margin: 0;

padding: 0;

}

#yuan{

width: 300px;

height: 100px;

background: red;

color: #fff;

font-size: 20px;

font-weight: 600;

text-align: center;

margin: 0 auto;

}

下面我们来使用webpack打包我们的文件hello.js ,如下的命令

webpack src/scripts/hello.js dist/js/build.js

如上图所示:说明我们把helloj.s打包成功了,此时,我们发现我们的dist/js目录下已经有了build.js了。如图所示

以上是我们最简单的使用webpack的方法,只是简简单单地打包一个文件,下面,我们来多增加一个文件main.js,然后再把style.css也打包进去(webpack可以把css打包到js文件里的,是不是很奇怪?放心吧,它就这么干的,后面你就会慢慢知道了),先来看是如何使用的?

main.js原代码

function yuan1(){

var yuan1="我是的第二个函数";

console.log(yuan1);

}

这时我们来把main.js作为入口文件改改,改为

require("./hello.js");

require("style-loader!css-loader!../style/style.css");

function yuan1(){

var yuan1="我是的第二个函数,现在我是入口文件了";

console.log(yuan1);

}

这个时候,你会发现,啥?怎么引入css多个style-loader、css-loader了?

其实是,在webpack中,我们想在js文件中通过require的方式来引入css,那就需要通过css-loader来实现。而style-loader的作用是在html中以style的方式嵌入css(到时候我们引用的这个style.css文件会直接插入到index.html的head标签里)。如果不引入这些loader去处理,那么我们直接require(“../style/style.css”),那么会报错的。

我们在使用style-loader、css-loader之前,先要安装好它们,下面我们通过如下命令安装它们,

npm install css-loader style-loader --save-dev

当我们引入好以后,然后我们就可以在命令里运行了:(这时我们是main.js)

webpack src/scripts/main.js dist/js/new-build.js

如图所示:打包成功了

这时你会发现在我们的new-build.js里,多了main.js的代码和css的代码,css代码如下

// module

exports.push([module.i, "body{\r\n margin: 0;\r\n padding: 0;\r\n}\r\n#yuan{\r\n width: 300px;\r\n height: 100px;\r\n font-size: 20px;\r\n font-weight: 600;\r\n text-align: center;\r\n margin: 0 auto;\r\n}\r\n", ""]);

为了看效果,我们把index.html的引用文件改为new-build.js。打开index.html,效果如图:

如上图所示,查看我们的源代码:是不是已经把style.css里面的样式添加到head里了。

五、后记

上面的main.js,我们是直接在require里写入css-loader和style-loader的(require(“style-loader!css-loader!../style/style.css”)),

其实我们还可以在webpack.config.js配置文件中使用

{ test: /\.css$/, loader: ‘style-loader!css-loader’ }

详细内容后续会记录。

有时候我们不断的修改css或者js,需要不断地在命令行输入这些命令进行打包,挺繁琐的,那有没有简单的方法,不用每次都输入,修改完成后文件后自动打包更新呢?可以的,在上面基础上,我们可以在命令后面加上–watch,如下:

webpack src/scripts/main.js dist/js/new-build.js --watch

此后,我们可以随时修改我们的css和js文件了,然后watch会自动监控这些更新,然后打包,我们只需在浏览器刷新我们的index.html就马上可以看到效果了。

webpack打开项目命令_webpack前端模块打包工具基本使用的详细记录(一)相关推荐

  1. webpack打开项目命令_webpack打包好的页面在项目中怎么运行?

    使用webpack打包好了页面和相关的js文件,然后命令输入webpack-dev-server,再浏览器中输入: http://localhost:9090/WebRoot... 打开页面能正常的加 ...

  2. 为何webpack风靡全球?三大主流模块打包工具对比

    小编说:前端项目日益复杂,构建系统已经成为开发过程中不可或缺的一个部分,而模块打包(module bundler)正是前端构建系统的核心.Webpack能成为最流行的打包解决方案,并不是偶然.webp ...

  3. 前端模块打包工具都有哪些---kalrry---ing

    前端模块打包工具都有哪些---kalrry---ing 前言 一.Webpack 二.Parcel 三.Rollup 四.三者对比 END---待学 前言 Win配置记录 Mac配置记录 一.Webp ...

  4. webpack打开项目命令_配置webpack中dev.env.js、prod.env.js,解决不同命令下项目启动和打包到指定的环境...

    前后端分离的项目开发中,我们有开发环境.测试环境.预生产环境和生产环境. 1.开发环境下调试接口的时候,一般都会有好几个接口地址(开发服务器上的,本地的,接口开发人员的,七七八八的接口地址),要根据情 ...

  5. 前端自动化打包工具--webpack

    前端自动化打包工具–webpack 背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的 ...

  6. 自己的模块给其他人调用是怎么打包的_webpack实战——模块打包

    写在前面 这是webpack实战系列的第二篇:模块和模块打包.上一篇:webpack实战--打包第一个应用 记录了webpack的一些基础内容与一个简单的小例子,开启了webpack的实战之路,这一篇 ...

  7. 前端开发打包工具——webpack(1)

    什么是webpack? webpack 是一个打包模块化 javascript 的工具,在webpack 里一切文件皆模块,通过 loader 转换文件,通过 plugin 注入钩子,最后输出由多个模 ...

  8. 【模块打包工具】Webpack

    Webpack的出现 使得 前端模块化的范围扩大了许多 以前 只是 JS 模块化 而现在 是 前端模块化 包括 样式 图片 字体等所有的资源模块化 核心特性 1.可以通过webpack 模块打包器 b ...

  9. 前端面试——打包工具

    https://www.cnblogs.com/goloving/p/8511861.html 1.什么是打包工具,为什么用打包工具? 它是一种将前端代码进行转换,压缩以及合并等操作的程序工具.目前常 ...

最新文章

  1. 使用Oracle instantClient代替Oracle Client安装
  2. 常考数据结构与算法:二叉树的之字形层序遍历
  3. 都快 2022 年了,这些 Github 使用技巧你都会了吗?
  4. 【转载】我喜欢电脑的飞鸽传书
  5. 设计灵感|优秀案例教你如何像杂志一样排版?
  6. 高质量程序设计指南C++学习总结一
  7. win10安装jdk1.8配置环境变量
  8. Window XP驱动开发(十一) USB2.0 芯片CY7C68013A+FPGA实现的高速传输系统设计(软件及硬件)
  9. python基础语法学习一
  10. Failed to connect to github.com port 443: Connection refused问题解决
  11. web实现微信9宫格
  12. Mysql 5.7 免安装版windows安装完整教程
  13. 为什么分布电容会缩短信号的传输距离
  14. fractions -- 分数
  15. CentOS7.5 重装 SSH 与 禁止网卡休眠
  16. 《矩阵理论》大萌课程笔记 - 线性空间与子空间
  17. 全新的移动互联网,互联网营销
  18. 抖音AI换脸小程序开发
  19. 2017韩国云服务器,虎云韩国云服务器KCS安装宝塔Linux面板教程
  20. 高通骁龙435(MSM8940)处理器达到什么水平

热门文章

  1. 开放式神经网络交换-ONNX(上)
  2. 操作系统常用词典(二)
  3. 视频教学动作修饰语:CVPR2020论文解析
  4. 【CV】吴恩达机器学习课程笔记 | 第1-2章
  5. Failed to load AppCompat ActionBar with unknown error
  6. flutter依赖某些插件,点击运行会出现错误
  7. canvas绘制的文字如何换行
  8. 如何利用大数据指导市场营销
  9. ubuntu16.06+vsftpd+nginx搭建图片服务器
  10. Go 学习笔记(2)— 安装目录、工作区、源码文件和标准命令