Vue之webpack快速上手---kalrry

一、简介

webpack 是一个基于node.js的 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。

二、Webpack的简单使用

1、准备工作

  1. 新建一个文件夹(如webpack-demo)并进入
  2. 打开cmd,输入npm init来生成package.json依赖对象文件
  3. 也可添加参数-y(即:npm init -y)来跳过输入信息。

2、Webpack安装

  1. 运行 npm i webpack -g 进行全局安装,这样可以在全局使用Webpack命令
  2. 或者在项目根目录中直接运行 npm i webpack --save-dev 安装到项目依赖中
  3. 安装webpack-cli
npm install -D webpack-cli
  1. 安装webpack-dev-server
npm i webpack-dev-server -D
  1. 在webpack.config.js中修改,添加devServer属性并配置
devServer{
    
    
	open:true, //自动打开浏览器
	port:3000, //修改端口号,修改为3000
	contentBase:"src", //直接打开页面,src是项目的根目录
	hot:true   //webpack 4及以上版本可以直接启用,低版本还需要添加其它内容
}

3、项目常见目录

:除node_modules、package.json、package-lock.json都是运行命令生成的,以下目录或文件需自己创建

  1. dist:存放最终发布版本的代码
  2. src:存放源代码
  3. index.html:首页
  4. main.js:项目的js入口文件
  5. webpack.config.js:webpack的配置文件
    如下图:
    请添加图片描述

4、webpack.config.js

1. 入口

入口起点(entry point)指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点(直接和间接)依赖的

2. 出口

output 属性告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为 ./dist。

3. webpack.config.js配置文件

const path = require('path');

module.exports = {
    
    
  entry: path.join(__dirname, './src/main.js'), //入口,表示要打包那个文件
  output: {
    
    
    path: path.join(__dirname, 'dist'),  //指定打包好的文件输出到那个目录
    filename: 'my-first-webpack.bundle.js'  //生成的文件名
  }
};

4. 实例demo(让li元素隔行变色)

  1. 在main.js中
// 导入jQuery
import $ from './js/jquery.min.js'

//实现li元素的隔行变色
$(function(){
    
    
	$('li:odd').css('background-color','red')
	$('li:even').css('background-color','yellow')
})
  1. 处理mian.js
    a.在命令行窗口输入 node_modules/.bin.webpack 或者直接 webpack 然后会处理mina.js然后生成对应的文件
    b.如果修改了main.js一定要再运行一遍命令,否则修改的代码不会生效

  2. index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<!-- 引入js -->
		<script src="../dist/my-first-webpack.bundle.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>
	</body>
</html>
  1. 最终效果
    …ing

三、vue-cli融合webpack创建项目

1、安装vue-cli

  1. 开始之前,请确保安装了 Node.js和vue.js
  2. npm i -g @vue/cli-init //安装脚手架

2、用vue-cli来构建项目

  1. 新建一个文件夹作为项目存放地,然后使用命令行cd进入到文件夹输入一下命令
  2. 创建项目
// 1.如果想搭建版本 v3.x/4.x
vue create 项目目录
// 2.如果想搭建版本 2.X
vue init webpack 项目目录
  1. 启动项目
npm run dev

四、在webpack中的一些基本使用

1、ES6模块化规范中的定义:

  1. 每个js文件都是一个独立的模块
  2. 导入模块成员使用import 关键字
  3. 暴露(也就是导出、出口)模块成员使用export 关键字
    注意:export default 和 export 是ES6向外暴露成员的方式。export default 向外暴露的成员可以用任何变量来接收;export 向外暴露的成员只能用{}接收,并且变量名必须相同,称作按需导出
import h from './a.js'     //接收a.js中的对象,并命名为h
import {
    
    title} form './a.js'
import {
    
    title as t} form './a.js'

在一个模块中export default 只允许向外暴露一次
export 允许向外暴露多次
允许同时使用 export default 和 export向外暴露成员
export向外导出的成员可以使用as 起别名

2、组件的使用

vue文件基本格式

<template>
	这里写模板
</template>

<script>
//这里写逻辑
export default {
    
    
  data: function() {
    
    
    return ''
  },
  methods: {
    
    
  }
}

export var title="小明"

</script>

<style>
	这里写样式
</style>

3、实例组件components

<template>
  <div>
    <h1>登录组件</h1>
  </div>
</template>

<script>
  export default {
    
    
    name: 'login'
  }
</script>

<style>
</style>

4、main.js

//导入vue
import Vue from 'vue'
//导入自定义的组件
import login from './components/login.vue'

var vm = new Vue({
    
    
  el: '#app',
  data: {
    
    
    message: '哈哈哈'
  },
 components:{
    
    
    login:login
  }
  )

最后将定义的组件放到 el对应的容器
注: 不需要再注册组件,但必须在conponents中指明组件

5、配置文件

参考

1.module.loaders

2.plugins

Plugins用于扩展webpack,使之更加强大。在此示例html-webpack-plugin,可以通过模板生成html并自动引用相关css、js等文件。首先安装

npm install --save-dev html-webpack-plugin

3.resolve

resolve用来解决一些模块相关的问题。

4.开发调试

为了方便开发调试,我们可以配置开发服务器。首先,安装:

npm install webpack-dev-server --save-dev

这是webpack提供的一个开发服务器,可以实现热刷新,还是挺方便的。可在webpack的配置文件中通过devServer来配置:

,devServer: {
    
    
    contentBase: "./public",//本地服务器所加载的页面所在的目录
    colors: true,//终端中输出结果为彩色
    historyApiFallback: true,//不跳转
    inline: true//实时刷新
  }

配置devtool来选择开发工具,可定位bug文件。

devtool: 'eval'
devtool: 'eval'

5.添加启动脚本

在package.json的scripts后追加

"dev":"webpack-dev-server "

通过npm run dev用来启动服务器进行开发调试。devtool和devServer的配置也可以直接放到命令后面来启动:

五、参考

Webpack之配置说明
webpack之devtool配置对比

猜你喜欢

转载自blog.csdn.net/weixin_45406712/article/details/124369847