首页 > 其他分享 >Vue CLI脚手架

Vue CLI脚手架

时间:2023-08-20 14:33:43浏览次数:23  
标签:文件夹 文件 Vue dist CLI loader webpack html 脚手架

1、node_modules依赖包

①我们通过项目终端输入npm i,就会生成该依赖包,依赖包会自动根据package.json文件中所有需要的东西进行封装下载,例如:jquery,vue2等等

②该依赖包因为承载项目的所有内容,在项目大的时候其所占内存也会很大。

③在项目传发时,依赖包是可以删除的,他人只需要输入npm i,即可下载回来

2、webpack安装

①npm install webpack@4 --save--dev:-save局部安装webpack

②npm install webpack -g:-g全局安装webpack

3、本篇项目例子是继续前篇文章的项目例子

Vue2之webpack篇(二)Loader_申小兮IU的博客-CSDN博客

loader处理css、图片、ES6转ES5、打包,分离vue,父子组件传参

一、Plugin

1、简介

(1)Plugin相当于一个插件

(2)功能

①可用于添加版权

②打包html到dist文件夹

拓展:项目完成后,项目部署到服务器上的就只有dist文件夹,但是前面文章所学内容并未将html打包到dist文件夹

③压缩js

拓展

生产环境:所有代码挤在一块,不留空隙,为了减少空间

开发环境:间隔回车错落有致,可读性强

(3)loader与plugin的区别

①loader主要用于转换某些类型的模块,是一个转换器

②plugin是插件,是对webpack本身的扩展,是一个扩展器

2、添加版权的plugin

webpack内置就有plugin,因此只需要在webpack.config.js中的plugins中配置插件

const webpack = require('webpack')
plugins:[
	new webpack.BannerPlugin('最终版权归')
]

配置

dist打包的bundle.js文件

3、打包html的plugin

(1)安装html-webpack-plugi

npm i html-webpack-plugi

(2)在webpack.config.js的plugins中配置htmlWebpackPlugin

const htmlWebpackPlugin = require('html-webpack-plugin')
plugins:[
    new webpack.BannerPlugin('最终版权归申小兮所属'),
    new htmlWebpackPlugin()
]

(3)webpack打包完,在dist文件夹中我们会看到多生成了一个html文件

(4)但是打开index.html查看,发现图片无法显示,是因为我们原先通过配置css-loader时,指定了html中引用图片的相对路径

(5)现在dist中已经有html文件了,就不需要设置图片的相对html文件路径,将publicPath: "./dist/"注释

// 处理css中图片的使用
{
  test: /\.(png|jpg|git)$/,
  /* 数组对象形式 */
  use: [
    {
      // 使用file loader,解析文件路径
      loader: "file-loader",
      // 配置
      options: {
        // 指定html中引用图片的相对html文件的路径
        // publicPath: "./dist/",
        // 指定文件名,一般会放在一个img相关的文件夹中
        name: "imgs/[contenthash].[ext]",
      },
    },
  ],
},

现在dist已经有html文件了,但是却找不到#app的template

①需要在配置htmlWebpackPlugin中添加指定html文件

plugins: [
  new webpack.BannerPlugin("最终版权归申小兮所属"),
  new htmlWebpackPlugin({
    template:'./class.html'
  }),
],

 注意:class.html是项目中的html文件,不是dist文件夹中生成的html文件

②class.html文件也不需要再引入js,将引入语句注释

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
   
</head>
<body>
    <div id="app"></div>
    <!-- <script src="./dist/bundle.js"></script> -->
</body>
</html>

③webpack打包,运行dist文件夹下的index.html文件

Vue CLI脚手架_css

标签:文件夹,文件,Vue,dist,CLI,loader,webpack,html,脚手架
From: https://blog.51cto.com/u_16038869/7161496

相关文章

  • Vue基础语法
    一、插槽1、格式放在子组件<slot>内容</slot>2、内容可以放任何模块的代码3、原理父组件引用时,填写内容会被应用到插槽css模块<style>.box{width:200px;height:200px;background-color:aqua;float:left;margin-right:20px;......
  • vuepress 安装报错问题
    关于vuepress部署出现样式的问题及解决6月前作者:我yi癫狂分类: 博客文章阅读(35)原文违法举报 目录vuepress部署出现样式问题vuepress个人博客部署遇到的一些问题1、js和css出现404问题2、每次都要重复操作打包、运行、上传github很麻烦怎么办?3、github.io无法打开怎......
  • vue-
    插槽slots 传html结构,父传子slot父组件子组件渲染作用域插槽内容可以访问到父组件的数据作用域,因为插槽内容本身是在父组件模板中定义的。具名插槽  插槽:子组件传给父组件数据,父组件传回子组件父子组件生命周期生命周期函数创建期:beforeCreate  create......
  • 前端vue自定义柱形图 选中更改柱形图颜色及文字标注颜色
    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率......
  • 前端Vue自定义等分底部菜单导航按钮 自适应文字宽度 可更改组件位置
    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率......
  • Delphi XE UniGUI ExtJS [7] Delhi 动态添加 ClientEvents.ExtEvents 事件
    UniButton1.ClientEvents.ExtEvents.Values['click']:='function(sender){alert("Click")}';UniEdit1.ClientEvents.ExtEvents.Values['change']:='function(sender,newValue){UniForms.UniEdit2.setValue(newValue)}';Un......
  • 【Oracle RAC Database】Single Client Access Name(SCAN)
    SCAN的作用是简化客户端连接数据库的配置,无论集群增加还是删除节点SCAN名称会一直保持不变,客户端不需要做任何的修改。SCAN是一个名称,通过DNS被解析成最多3个IP地址(SCANVIP)SCANVIP的作用是接收客户端连接,SCANVIP必须与集群的公网资源处于相同的子网,每一个SCANVIP都会有对应的S......
  • [转]CLion安装及无限试用
    Clion安装及无限试用:链接:https://pan.baidu.com/s/1mreUx5QyS4nkVQMOhdjf7g提取码:ylqw翻译搜索复制......
  • vue.js:5108 [Vue warn]: Cannot find element: #body_container
    1、原因:我把Vue挂载元素的JS放在了html加载完成的前面了2、解决:放到html加载完成之后就可以了 ......
  • Vue技术
    ......