首页 > 其他分享 >VUE学习笔记DAY01-cnblog

VUE学习笔记DAY01-cnblog

时间:2023-02-04 11:22:40浏览次数:37  
标签:index VUE 文件 DAY01 js webpack css cnblog 打包

webpack的使用(配合ppt)

1.webpack

  • 前端工程化的具体解决方案

  • 作用

    • 代码压缩混淆
    • 处理浏览器端的JavaScript兼容性
    • 性能优化

1.1 基于webpack实现隔行变色

npm i jquery -S 中-S(--save的简写)表示保存到dependencise节点中,其中-S可以省略

1.2 webpack的使用

  • 安装webpack相关的两个包
npm install [email protected] [email protected] -D

-D(--save-dev的简写) 代表将包安装在devdependencies节点中

1.3 配置webpack

  1. 项目根目录创建webpack.config.js的webpack配置文件
module.exports={
    mode:'development' //mode指定构建模式,development代表开发模式,production代表上线情况
}
  1. 在package.json的scripts节点下,新增dev脚本
"scripts":{
    "dev":"webpack"
}
  • 代表script下的脚本,通过npm run dev执行
  1. 总端运行npm run dev命令,启动webpack进行项目的打包

1.4 mode的可选值

  • development

    开发环境

    不会对打包生成的文件进行代码压缩和性能优化

    打包速度快,适合在开发阶段使用

  • production

    生成环境

    会对打包生成的文件进行代码压缩的性能优化

    打包速度慢,适合在项目发布阶段使用

1.5 webpack.config.js文件的使用

webpack的配置文件

webpack打包之前会读取这个配置文件

webpack 是基于node.js开发出来的工具

支持node.js的相关语法和模块

1.6 webpack的打包约定

  • webpack 4x及以上
  • 默认打包入口文件:src/index.js
  • 默认输出文件路径:dist/main.js

1.7 在webpack.config.js文件中修改默认打包约定

  • entry:打包入口
  • out:打包出口
  • mode:打包方式

示例:修改打包约定

// 使用node.js的导出语法,向外暴露一个模式mode

// path模块

const path = require('path');
module.exports = {
    // 修改webpack的默认打包出口和入口

    // 入口
    entry: path.join(__dirname, "./src/index.js"),
    // 出口
    output: {
        path: path.join(__dirname, "./dist"), //文件存放路径
        filename: 'bundel.js' // 导出文件的名称
    },
    mode: 'production', // 可选参数,development:开发阶段使用,production:生产环境

    devServer: {
        contentBase: path.join(__dirname, './'), // 指定发布后的映射的路径,./代表映射当前路劲
        compress: true, // 压缩资源
        port: 9000, // 指定服务器的端口号
        open: true, // 指定以哪个浏览器打开,open:true 代表以默认浏览器打开
    },

}

1.8 webpack的常用插件

  • webpack-dev-server

修改了源代码,webpack自动打包

开启了一个webpack的打包服务器,打包生成的文件不存放在output节点的路径中

生成的文件存放在内存中

defer代表DOM渲染结束后再执行js

  • 安装
npm i [email protected] -D
  • 配置(package.json中)
"scripts":{
    "dev":"webpack serve"
}
  • 运行
npm run dev
  • html-webpack-plugin

类似模板引擎插件

文件复制

  • 安装
npm i [email protected] -D
  • 配置(webpack.config.js中)
//  1.获取一个构造函数
const HtmlPlugin = require('html-webpack-plugin');

// 2. 实例化一个对象

const htmlPlugin = new HtmlPlugin({
    // 文件原来的路径
    template: './src/index.html',
    // 复制文件到哪里
    filename: './index.html'
})

module.exports = {
    

    // 3.暴露插件(html-webpack-plugin)
    plugins: [new HtmlPlugin({
        // 文件原来的路径
        template: './src/index.html',
        // 复制文件到哪里
        filename: './index.html'
    })],
    

}
  • 注意点

存放的html页面的位置也在内存,同时相应的js文件也注入了进去

1.9 loader加载器

  • 示例

// 使用es6的高级语法导入jQuery

import $ from 'jquery'

// 在webpack结构中,导入都使用import高级语法

// 导入css
import './css/index.css'
// 导入less
import './css/index.less'

// 导入图片

import pic from './images/QQ截图20220211104156.png'

console.log(pic);

// 获得的pic是base64的字符串

// 将字符串赋给pic-box

$('.pic-box').attr("src", pic);

$(function() {
    // li标签隔行变色
    $("li:odd").css('backgroundColor', 'pink');
    $("li:even").css('backgroundColor', 'blue');
})

1.10 一些常用的加载器

  • css加载器
  • less加载器
  • 图片base64转换加载器
  • babel加载器(处理js高级语法)

1.11 打包发布

package.json中配置

"build":"webpack --mode production"
  • 每次打包清除原来的输出目录

    插件:clean-webpack-plugin

1.2 Source Map

  • 定义

一个信息文件,存储着位置信息,包含代码压缩混淆后与源代码的对应位置,方便调试bug

  • 在webpack.config.js中配置,module.exports中添加
  • 开发环境下
devtool:'eval-source-map'
  • 生产环境下
devtool:'nosources-source-map'

1.13 @ 来代表项目的src目录

  • 在webpack.config.js中
// 配置 符号 @ 代表项目的src目录,告诉webpack @代表src目录
    resolve: {
        alias: {
            '@': path.join(__dirname, "./src/")
        }
    }
  • 在其他js文件中就可以如此使用
// 导入css
import '@/css/index.css'
// 导入less
import '@/css/index.less'

// 导入info.js

import '@/js/test/info'
  • 路径更明确易懂了

标签:index,VUE,文件,DAY01,js,webpack,css,cnblog,打包
From: https://www.cnblogs.com/lingxin1123/p/17091134.html

相关文章

  • Vue(四)-cnblog
    Vue(四)1.生命周期一个组件从(创建->运行->销毁的整个阶段)生命周期函数:vue框架的内置函数,会随着组件的生命周期,自动按次序执行注意点生命周期强调整个时间段......
  • Vue(三) (Vue-cli)-cnblog
    Vue(三)(Vue-cli)1.单页面应用程序(SPA)一个web网站只有唯一的html页面2.vue-cli简化了webpack创建工程化Vue项目的全过程不需要自己去配置webpack,只需专心写页面2.......
  • vue页面加载闪烁的问题以及解决方案
    一、原因:问题:当我们打开Vue页面的时候,如果弱网环境,会出现一个闪烁的效果下图:加载闪烁问题效果  原因:因为在浏览器中先执行html代码,先渲染Dom,然后再执行JavaScript代......
  • vuejs从入门到精通——单文件组件(SFC)
    单文件组件(SFC)https://cn.vuejs.org/guide/scaling-up/sfc.html一、单文件组件(SFC)是什么?Vue的单文件组件(即*.vue文件,英文Single-FileComponent,简称SFC)是一种......
  • vuejs从入门到精通——应用配置
    应用配置https://cn.vuejs.org/guide/essentials/application.html#mounting-the-app应用实例会暴露一个.config对象允许我们配置一些应用级的选项。例如定义一个应用级......
  • vuejs从入门到精通——多个应用实例
    多个应用实例https://cn.vuejs.org/guide/essentials/application.html#multiple-application-instances应用实例并不只限于一个。createAppAPI允许你在同一个页面中创......
  • vuejs从入门到精通——根组件
    根组件https://cn.vuejs.org/guide/essentials/application.html#the-root-component一、先创建一个vue实例每个Vue应用都是通过createApp函数创建一个新的应用实例:......
  • vuejs从入门到精通——DOM 中的根组件模板
    DOM中的根组件模板https://cn.vuejs.org/guide/essentials/application.html#the-root-component当在未采用构建流程的情况下使用Vue时,我们可以在挂载容器中直接书写......
  • Node.js学习第四天-cnblog
    Node.js学习第四天1.基本使用安装[email protected]创建最基本的web服务器constexpress=require('express')constapp=express()app.listen(80,()=>{......
  • day01-SpringMVC基本介绍-01
    SpringMVC介绍-011.离线文档解压spring-5.3.8-dist.zip文件。位置:spring-framework-5.3.8/docs/reference/html/web.html#spring-web2.SpringMVC基本介绍2.1SpringM......