使用webpack4.x构建项目的步骤

简介: 一、运行npm init -y二、创建目录三、在src下创建index.html四、使用cnpm安装五、注意

使用webpack4.x构建项目的步骤

 

目录

一、运行npm init -y

二、创建目录

三、在src下创建index.html

四、使用cnpm安装

五、注意

 

创建基本的webpack4.x项目

1、运行npm init -y

首先创建一个文件夹名位01.webpack-base,在使用Visual Studio Code打开。打开之后我们要先快速初始化一个项目,代码:npm init -y。它会创建package配置文件。以后创建的包什么的都会在这里面来记录。

 

2、 创建目录

01.webpack-base旁边有一个新建项目的(如下图:),

image.png

新建一个src项目,用来存放所有项目的原代码。还有一个是dist文件,为什么使用dist因为react创建的时候/dist的路径,这个dist代表的是项目做好之后发布的一个产品,最终要发布在我们的dist里面中去,开源也是这样做的。

 

3、 src下创建index.html

src下面新建一个index.html,代码如下:

代码:

<! DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Index首页</title>

</head>

<body>

<h1>这是首页</h1>

</ body>                                          

</html>

                                                     

src下创建一个main.js文件,代码如下:

代码:

// 假设,main.js 还是我们的入口文件

Console.log(‘ok’)

 

4、 使用cnpm安装

配置淘宝镜像,但是使用npm就直接自己装了,在终端安装。(代码如下:)

代码:

cnpm I webpack webpack-cli -D

*全局运行 ‘npm I cnpm -g

点开package.json查看版本:

代码:

"name": "01.webpack-base",

"version" : "1.0.0",                                      

"description": "",

"main": "index.js",

"scripts" : {

"test": "echo \"Error: no test specified\" && exit 1"},

"keywords": [],

"author": "",

"license": "ISC",

"devDependencies": {                              

"webpacki: "^4.1.1"

}

}

 

但是还是要去传一个包,代码:cnpm I webpack-cli -D

在终端输入,webpack就可以进入打包空间。之前进入打包空间,在package.json创建一个dev。在script里面添加一个“dev”:“webpack”,后面在指定一个配置文件。在终端里面输入webpack或者在package.json里面的script中添加dev,都是一样的。“dev”:“webpack”是webpack命令行提供的。重新在到终端打一次包,它就报了一次警告:

代码:

WARNING in configuration

The 'mode’ option has not been set. Set 'mode’option to

'development’ or 'production’to enable default:for this

environment.

 

打包失败!大概意思是:没有设置mode这个选项。Webpack有一个配置文件,在src下创建webpack.Config.js的一个js文件。Webpack.config.js代码如下:

代码:

//向外暴露一个打包的配置对象;因为webpack是基于Node构建的;所以 webpack支持所有Node API 和语法

module.exports = {

mode: 'development' //development production

}                                

//行不行 目前不行

export default {}

 

然后在使用webpack,在报错。

代码:

ERR0R in Entry module not foundT Eror: Can't resolve './snc'

in 'c: lUsers\liulongbin\Desktoplreact-day八代

\e1.webpack-base'

 

这个主要报错的是没有找到入口文件,是因为在webpack.config.js中没有配置入口文件。

webpack 4.x中,有一个很大的特性,就是约定大于配置约定,默认的打包入口路径是src -> index.js

已经有了这个就不需要了,所以把main.js重新命名一下,改为index.js。(代码如下:)

代码:

//假设,main.js还是我们的入口文件

Console.log(“ok”)

就不用写option,它默认是把src下的index.js当作入口,然后在到终端里面去输入webpack

然后结果为,下列代码:

Hash: 423ac0b62c60f9ef8e85Version: webpack 4.1.1

Time: 100ms

Built at: 2018-3-1910:57:03AssetsizeChunks    chunk Names

main.js2.85 KiBmain [emitted]main

Entrypoint main = main.js

[./ src/index.is142 bytes {main}built]

 

文件打包好后会在dist中出现一个js文件,main.js文件,可以打开观察一下。

然后把这个js文件手动导入进index.html中去,导入到head标签里面,导入这行代码<script srC=" ../dist/main.js"></script>,然后保存,在到浏览器中去看(如下图:)。

image.png

webpack.config.js中的mode中的ok改为production,然后在到终端打包,在卡main.js文件。

代码:

function(e) { var n=( } ;function r(t)if(n[t])return n[t].exports ;var o=n[t]=(i:t,T J,e嗟石} ;return e[t].call(o.exports,o ,o.exports ,r ) , o.1=!0 ,o.exports }r.m=e ,r.c=n,r.d=iunction(e,n,t){(r.o(e ,n)ll0bject.defineProperty(e,n , {configurable: !1,enumerable:! 0 ,get:t}) } ,r.z=function(e){bject.defineProperty(e , "_esModule" ,{value:!0}) } ,r.n=function(e) {var n=e&ke._esModule?function() {return e.default} : function() {return e) ;return r.d(n , " a " ,n) ,n} ,r.o=function(e,n){return Object.prototype .hasOwnProperty.call(e,n) } ,r.p="" ,r(r.s=0)( [function(e,n) {console.log("ok ")}]);

 

5、 注意: webpack 4.x提供了约定大于配置的概念;目的是为了尽量减少配置文件的体积;

默认约定了:

打包的入口是src-> index.js

打包的输出文件是dist-> `main.js |

相关文章
|
2月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
151 0
|
4月前
|
缓存 前端开发 JavaScript
「零基础」掌握Webpack:10个必学技巧,为前端项目保驾护航!(三)
「零基础」掌握Webpack:10个必学技巧,为前端项目保驾护航!
|
5天前
|
缓存 JavaScript 前端开发
【TypeScript技术专栏】TypeScript与Webpack构建优化
【4月更文挑战第30天】本文探讨了优化TypeScript与Webpack构建性能的策略。理解Webpack的解析、构建和生成阶段是关键。优化包括:调整tsconfig.json(关闭不必要的类型检查,适配目标环境)和webpack.config.js(配置entry、output、resolve,使用压缩插件)。启用Webpack缓存和增量构建,利用代码拆分与懒加载,能有效提升构建速度和开发效率。
|
11天前
|
JavaScript 前端开发
构建工具:配置Webpack打包Vue项目
【4月更文挑战第24天】本文介绍了如何配置Webpack来打包Vue项目。首先,Webpack作为模块打包器处理依赖并打包成可执行文件。接着,通过安装Node.js和npm,创建Vue项目,进入项目目录并配置Webpack的入口、输出、加载器和插件。最后,运行构建命令完成打包。理解Webpack基础并按需配置,能优化前端项目构建和开发体验。
|
11天前
|
缓存 JavaScript 前端开发
js开发:请解释什么是Webpack,以及它在项目中的作用。
Webpack是开源的JavaScript模块打包器,用于前端项目构建,整合并优化JavaScript、CSS、图片等资源。它实现模块打包、代码分割以提升加载速度,同时进行资源优化和缓存。Webpack的插件机制可扩展功能,支持热更新以加速开发流程。
16 2
|
3月前
|
缓存 前端开发 JavaScript
|
3月前
|
前端开发 JavaScript 安全
|
3月前
|
前端开发 JavaScript Java
|
4月前
|
缓存 前端开发 JavaScript
「零基础」掌握Webpack:10个必学技巧,为前端项目保驾护航!(二)
「零基础」掌握Webpack:10个必学技巧,为前端项目保驾护航!
|
4月前
|
前端开发 JavaScript
「零基础」掌握Webpack:10个必学技巧,为前端项目保驾护航!(一)
「零基础」掌握Webpack:10个必学技巧,为前端项目保驾护航!