webpack4.x 从零开始配置vue 项目(一)基础搭建项目

摘要:
序现在依旧记得第一次看到webpack3.x版本配置时候的状态刚开始看到这些真的是一脸懵。希望这篇文章能帮到刚开始入门的同学。webpack是一个模块化打包工具,webpack通过入口分析项目结构,找到JavaScript模块以及一些不能直接在浏览器上运行的语言、语法等如,并将其打包成可以直接在浏览器运行的js,以及压缩、加密、按需加载等。根据官网的api,现在我们可以进行打包了。但是为了更加方便的打包我们需要用到npmscript功能。

现在依旧记得第一次看到webpack3.x 版本配置时候的状态webpack4.x 从零开始配置vue 项目(一)基础搭建项目第1张刚开始看到这些真的是一脸懵。希望这篇文章能帮到刚开始入门的同学。

webpack 是什么?

webpack是一个模块化打包工具,webpack 通过入口分析项目结构,找到JavaScript模块以及一些不能直接在浏览器上运行的语言、语法等 如(scss、ts、es6+等),并将其打包成可以直接在浏览器运行的js,以及压缩、加密、按需加载等。

相关概念

  • Entry:入口,webpack执行构建的第一步将从Entry开始,可理解为输入
  • Module:模块,在webpacl中一切皆为模块,一个模块对应一个文件,webpack会从配置的Entry开始递归找出所有依赖的模块
  • Chunk:代码块,一个chunk由多个模块组合而成,用于将代码合并和分割
  • Loader:模块转换器,用于把模块原内容按照需求转换为需要的新内容
  • Plugin:扩展插件,在webpack构建流程中的特定时机注入扩展逻辑来改变构建结果和想要做的事情
  • Output:输入结果,在webpack经过一系列处理并得到最终想要的代码然后输出结果
  • runTime:在浏览器运行时,连接模块的连接器
  • manifest:webpack 编译时记录所有模块的详细信息的数据集合(连接器来这里查询具体的模块)

环境搭建

1、先用npm初始化一个项目,得到 package.json 文件

1 npm init -y 或者
2 npm init //这个要填写一些信息 如 名称 邮箱 版本 等等

2、安装webpack 4 将CLI 独立出来了,所以需要安装两个包

1  npm install webpack webpack-cli -D

webpack-cli 我觉得全局安装比较方便,命令行全局安装不会造成版本冲突之类的。根据官网的api,现在我们可以进行打包了。

webpack4.x 从零开始配置vue 项目(一)基础搭建项目第2张

但是为了更加方便的打包我们需要用到npm script 功能(简单的说就是临时把node_modules 路径加到系统环境变量)。

先建立好相关文件如 webpack.config.js

webpack4.x 从零开始配置vue 项目(一)基础搭建项目第3张在package.json scripts 中加入

1 "build:dev": "webpack --mode development"

在webpack.config.js 中导出一个最简单的对象给webpack

1 'use strict'
2 const path = require('path')
3 
4 //path
5 functionresolve (dir) {
6   returnpath.join(__dirname, dir)
7 }
8 
9 module.exports ={
10   mode: 'development',
11 entry: {
12     app: './main.js'
13 },
14 output: {
15     filename: '[name]-[hash].js',
16     path: path.resolve(__dirname, 'dist'),
17     publicPath: './'
18 }
19 
20 }

在窗口执行

1 npm run build:dev

不出问题,应该是打包成功了。

源码

https://github.com/ben-Run/webpack-learn

要是帮到你了可以点下star, 哈哈~~~

免责声明:文章转载自《webpack4.x 从零开始配置vue 项目(一)基础搭建项目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用inline内联函数和宏的区别下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue 内联样式style中的background

转载:点击查看原文 在我们使用vue开发的时候 有很多时候我们需要用到背景图(特别是这个背景图是变量时) 这个时候会直接使用 内联样式 直接把你拿到的数据拼接上去 注意 在vue中直接使用style时 花括号一定别忘记 还有就是你的url一定要加引号拼接 :style = ' { backgroundImage : " url ( " + item.i...

vuex页面刷新数据丢失的解决办法

在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失。 原因: 因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值初始化 解决思路: 将state的数据保存在localstorage、sessionstorage或cookie中(三者...

ES6+转ES5(webpack+babel、指定多个js文件、自动注入)

  接续上篇ES6+转ES5,本篇将使用webpack和babel将多个不同目录下指定的多个ES6+语法的js文件编译为ES5,并将编译后的文件配置注入对应的html文件。   所需环境node、npm、设置淘宝镜像请参考上篇进行安装,地址:https://www.cnblogs.com/puyongsong/p/12036090.html 一、新建项目...

vue如何debugger源码

  在我们阅读vue源码时,一般引用vue的版本都是打包编译后的版本,无法debugger源码,要debugger源码,就需要给代码添加sourcemap,他存储源码与编译后代码的一种对应关系,详细内容可以参考阮老师的博文(http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html)...

webpack 入门和常用插件的使用

常用配置参数 module.exports ={ context: path.resolve(__dirname, '../'), entry: { app: './src/main.js'}, output: { path: path.resolve(__dirname, '../dist'), filename: '...

vuejs 组件 移动端push 没有渲染页面

this.idcards.push(arr) 这个无效 就知道了 vuejs有个跟push相同的方法 console.log(this.list.push.toString()) 这个push是个同名方法并非 native 的 array push只有用它这个“假”方法才能运行监听函数更新视图 你直接用 Array.prototype.push.app...