Advertisement

在Vue-cli3中设置别名和添加打包哈希值的方法

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本文介绍了如何在使用Vue-cli3时配置路径别名,并展示了实现打包文件加入hash值的具体方法。 Vue CLI 3 是一个强大的工具用于快速创建 Vue.js 应用程序项目,并提供了许多自动化构建配置功能。这使得开发者可以专注于编写应用程序代码而不是繁琐的设置工作。 本段落将深入探讨如何在 Vue CLI 3 中进行 `alias` 配置和添加文件名中的哈希值(hash)以优化开发体验与性能管理。 首先,我们来看一下 `alias` 的配置方法。大型应用中通常需要引用许多模块和文件,这时路径可能会变得很长且难以维护。通过设置别名(alias),可以简化这些常见的引用路径。在 Vue CLI 3 中,可以在项目根目录的 `vue.config.js` 文件里进行如下操作: ```javascript const path = require(path) function resolve(dir) { return path.join(__dirname, dir) } module.exports = { chainWebpack(config) { config.resolve.alias .set(@style, resolve(public/style)) .set(@api, resolve(src/api)) .set(@tools, resolve(src/tools)) .set(@components, resolve(src/components)) } } ``` 这里我们为不同的目录设置了别名,比如 `@style` 对应的是项目中的公共样式文件夹。这样,在代码中引用这些路径时就可以直接使用简短的别名。 接下来讨论在打包过程中如何添加哈希值(hash)。这有助于管理浏览器缓存:每次构建生成的新文件都会带上新的哈希值,当文件内容改变时对应的 URL 也会更新,从而确保用户访问的是最新版本的内容。可以按照以下方式配置 Vue CLI: ```javascript module.exports = { chainWebpack(config) { config.output.filename([name].[hash].js).end(); } } ``` 这里设置的 `[hash]` 是基于构建文件内容生成的一个唯一标识符(哈希值)。每当源码发生变化,这个哈希值就会更新。此外,在处理静态资源如图片、音频等时也可以使用类似的方法: ```javascript { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: url-loader, options: { limit: 10000, name: utils.assetsPath(img/[name].[hash:7].[ext]) } } ``` 这里,`[hash]` 确保了当静态资源发生变更时文件名也会更新。 关于 `webpack` 中的哈希类型:`hash`, `chunkhash`, 和 `contenthash` 都有不同的用途: - 使用全局构建过程(compilation)的唯一标识符作为哈希值,即任何内容改变都会导致整个项目重新编译。 - 基于每个模块 chunk 的内容生成唯一的标识符。只有当该 chunk 内容变化时才会更新此 hash。 - 用于从 `extract-text-webpack-plugin` 中提取的 CSS 文件,仅在文件自身发生变化时才更改哈希值。 通过合理配置这些选项,Vue CLI 3 能够确保所有构建输出均包含基于内容生成的唯一标识符(hash),从而有效地管理缓存并提升用户体验。了解和正确设置这些参数对于优化 Vue 应用程序项目的构建流程至关重要。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Vue-cli3
    优质
    本文介绍了如何在使用Vue-cli3时配置路径别名,并展示了实现打包文件加入hash值的具体方法。 Vue CLI 3 是一个强大的工具用于快速创建 Vue.js 应用程序项目,并提供了许多自动化构建配置功能。这使得开发者可以专注于编写应用程序代码而不是繁琐的设置工作。 本段落将深入探讨如何在 Vue CLI 3 中进行 `alias` 配置和添加文件名中的哈希值(hash)以优化开发体验与性能管理。 首先,我们来看一下 `alias` 的配置方法。大型应用中通常需要引用许多模块和文件,这时路径可能会变得很长且难以维护。通过设置别名(alias),可以简化这些常见的引用路径。在 Vue CLI 3 中,可以在项目根目录的 `vue.config.js` 文件里进行如下操作: ```javascript const path = require(path) function resolve(dir) { return path.join(__dirname, dir) } module.exports = { chainWebpack(config) { config.resolve.alias .set(@style, resolve(public/style)) .set(@api, resolve(src/api)) .set(@tools, resolve(src/tools)) .set(@components, resolve(src/components)) } } ``` 这里我们为不同的目录设置了别名,比如 `@style` 对应的是项目中的公共样式文件夹。这样,在代码中引用这些路径时就可以直接使用简短的别名。 接下来讨论在打包过程中如何添加哈希值(hash)。这有助于管理浏览器缓存:每次构建生成的新文件都会带上新的哈希值,当文件内容改变时对应的 URL 也会更新,从而确保用户访问的是最新版本的内容。可以按照以下方式配置 Vue CLI: ```javascript module.exports = { chainWebpack(config) { config.output.filename([name].[hash].js).end(); } } ``` 这里设置的 `[hash]` 是基于构建文件内容生成的一个唯一标识符(哈希值)。每当源码发生变化,这个哈希值就会更新。此外,在处理静态资源如图片、音频等时也可以使用类似的方法: ```javascript { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: url-loader, options: { limit: 10000, name: utils.assetsPath(img/[name].[hash:7].[ext]) } } ``` 这里,`[hash]` 确保了当静态资源发生变更时文件名也会更新。 关于 `webpack` 中的哈希类型:`hash`, `chunkhash`, 和 `contenthash` 都有不同的用途: - 使用全局构建过程(compilation)的唯一标识符作为哈希值,即任何内容改变都会导致整个项目重新编译。 - 基于每个模块 chunk 的内容生成唯一的标识符。只有当该 chunk 内容变化时才会更新此 hash。 - 用于从 `extract-text-webpack-plugin` 中提取的 CSS 文件,仅在文件自身发生变化时才更改哈希值。 通过合理配置这些选项,Vue CLI 3 能够确保所有构建输出均包含基于内容生成的唯一标识符(hash),从而有效地管理缓存并提升用户体验。了解和正确设置这些参数对于优化 Vue 应用程序项目的构建流程至关重要。
  • Vue动态
    优质
    本文介绍了如何在Vue框架中灵活地为元素动态绑定和修改CSS类名,实现响应式的样式变化。 今天为大家分享如何在Vue中动态添加类名的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随文章深入了解吧。
  • 使用Vue Cli3时配自动忽略console.log
    优质
    本文介绍了如何在使用Vue CLI 3进行项目构建时,通过配置webpack来实现自动忽略或移除代码中的console.log语句,帮助开发者优化生产环境下的应用性能。 要在项目中安装 uglifyjs-webpack-plugin 插件,请运行以下命令: ```bash npm i -D uglifyjs-webpack-plugin ``` 然后,在 `vue.config.js` 文件里引入并配置该插件,如下所示: ```javascript const UglifyJsPlugin = require(uglifyjs-webpack-plugin); module.exports = { configureWebpack: { plugins: [ new UglifyJsPlugin({ uglifyOptions: { compress: { drop_console: true, }, }, }), ], }, }; ```
  • 使用Vue Cli3时配自动忽略console.log语句
    优质
    本文介绍了在使用Vue CLI 3进行项目构建时,如何通过配置文件自动忽略或移除生产环境下的console.log语句,以优化代码质量与性能。 本段落主要介绍了如何在使用Vue Cli3进行打包配置时自动忽略console.log语句的方法,并通过示例代码进行了详细的讲解。对于学习或工作中需要这方面知识的人来说,具有一定的参考价值。希望有需求的朋友能从中学到所需的内容。
  • C++获取文件及Torrent磁力链接
    优质
    本文介绍了在C++编程语言环境中获取文件和Torrent磁力链接哈希值的具体方法和技术细节。 代码如下:CHash.h : 头文件 #pragma once #include sha1.h #define SIZE_OF_BUFFER 16000 class CHash { public: CString SHA1Hash(CString strHashFile); }; 代码如下:CHash.cpp : 实现文件 #include stdafx.h #include CHash.h #include CString CHash::SH
  • 详解Vue删除元素
    优质
    本文章详细讲解了如何在Vue框架下高效地实现DOM元素的添加与移除操作,并提供了具体的代码示例。 在 Vue.js 中添加或删除元素是构建用户界面的常见操作之一。Vue 提供了简便的方法来实现这些功能。 **添加元素** 要向数组中加入新的项目,在 Vue 中通常使用 `push` 方法将新对象追加到现有的数组里面,例如: ```javascript this.items.push(this.newitems); ``` 这里假设我们有一个名为 `newitems` 的变量用于存储待插入的新数据。此对象应包含所有必要的属性(如:name、age 和 sex),以确保其可以正确地添加进视图中。 为了使用户界面能够实时反映数组的变化,我们需要使用 Vue 提供的指令,例如 `v-for`,它允许我们遍历并显示数组中的每个元素: ```html
    {{ item.name }} - {{ item.age }}
    ``` **删除元素** 从视图中移除一个项目可以使用 JavaScript 数组的 `splice` 方法来实现。例如,我们可以定义一个名为 `deletePerson` 的方法: ```javascript methods: { deletePerson(index) { this.items.splice(index, 1); } } ``` 这个例子中的 `$index` 是 Vue 模板语法的一部分,在结合使用 `v-for` 进行循环时可以访问到当前元素的索引位置,从而实现删除特定项目。 同样地,为了确保视图能够正确反映数组的变化,我们需要在模板中继续使用 `v-for` 来渲染数据: ```html
    {{ item.name }} -
    ``` **双向绑定** Vue 的另一个强大特性是其双向数据绑定能力,这可以通过 `v-model` 指令来实现。它允许输入框中的值与 Vue 实例的数据属性同步更新: ```html ``` 这样当用户在输入框中键入时,Vue 会自动将变化反映到对应的 JavaScript 对象上。 总体来说,通过使用 `push` 和 `splice` 方法以及 Vue 的模板指令(如 `v-for`, `v-model`),我们可以轻松地实现数据的添加和删除操作,并确保视图能够同步更新。
  • vue.config.jsVue路径技巧
    优质
    本文介绍了如何在Vue项目中通过配置vue.config.js文件来设置路径别名,从而简化大型项目的导入路径书写,提高开发效率。 本段落主要介绍了如何在vue.config.js文件中配置Vue的路径别名,并通过示例代码进行了详细的讲解。内容对学习或工作中使用该功能的朋友具有参考价值,希望读者能从中受益。
  • Vue-cli3项目自动化服务器部署
    优质
    本简介介绍如何使用Vue-cli 3框架构建项目后,采用自动化工具进行服务器部署的方法,简化开发流程。 本段落详细介绍了如何使用vue-cli3将项目打包后自动化部署到服务器的方法,对学习或工作具有一定的参考价值。
  • 使用v-forVue为循环标签属性
    优质
    本文章介绍了如何在Vue框架中运用v-for指令为循环生成的每个元素动态添加属性值的具体方法和示例代码。 本段落主要介绍了如何使用Vue中的v-for指令为循环生成的标签添加属性值,并列举了三种实现方法。有需要的朋友可以参考这篇文章的内容。
  • Python 为 DataFrame 索引行
    优质
    本文介绍了如何在Python的数据处理库Pandas中为DataFrame对象添加自定义的行索引和列名称,帮助读者更好地组织和理解数据结构。 在工作中遇到需要给DataFrame添加列名和行名的情况时,如果缺少这些名称就会报错。开始的数据格式如下: 为了符合所需格式,我们需要加上行名和列名。下面是具体的操作步骤:假设`a`是DataFrame类型的数据集。 ```python # 给索引设置名称为date a.index.name = date # 给列设置名称为code a.columns.name = code ``` 这样就可以修改好所需的格式了。 以上就是用Python给DataFrame增加index行名和columns列名的方法,希望能对您有所帮助。