Vue 中 app.config 相关配置项介绍与案例

目录

app.config

app.config.errorHandler

app.config.warnHandler

app.config.performance

app.config.compilerOptions

app.config.globalProperties

app.config.optionMergeStrategies


​​​​​​​app.config


        在 Vue 3.0 中,每个应用实例都会展现出一个 config 对象,该对象涵盖了针对此应用的配置设定。您能够在挂载应用之前对这些属性予以更改。app.config 主要用于对 Vue 应用的全局选项进行配置。借助它,能够设定一些全局的行为和特性,比如错误处理、警告处理以及性能优化选项等等。在 Vue 2.0 中,相对应的是 Vue.config ,其功能和使用方法与 app.config 相仿,同样是用于设置全局的配置选项。

        示例代码如下:

console.log(app.config);  

        运行结果:

app.config.errorHandler


        在 Vue 3 中,app.config.errorHandler 用于定义全局的错误处理函数。当应用中的组件在运行时发生错误时,这个错误处理函数会被调用。它接收三个参数:错误对象 err 、当前组件实例 vm 和错误信息字符串 info 。 在 Vue 2.0 中,对应的是 Vue.config.errorHandler ,功能和用法与 Vue 3 中的 app.config.errorHandler 类似。

        示例代码如下:

<body>  
    <div id="app"></div>  
</body>  
<script>  
    const { createApp,reactive} = Vue;  
    // 创建一个全局的共享数据对象  
    const sharedData = reactive({  
        componentName: '',  
        errorMessage: '',  
        errorInfo: ''  
    });  
    const rootComponent = {  
        name:'componentName',  
        template: `  
            <div>  
                <p>Error in component:{
  { sharedData.componentName }}</p>  
                <p>Error message:{
  { sharedData.errorMessage }}</p>  
                <p>Error info:{
  { sharedData.errorInfo }}</p>  
            </div>  
        `,  
        methods: {  
            // 故意引发错误的方法:调用不存在的方法  
            errorMethod() {  
                this.nonExistentMethod();   
            }  
        },  
        mounted(){  
            this.errorMethod();  
        },  
        inject:['sharedData']  
    };  
    const app = createApp(rootComponent);  
    // 配置全局错误处理函数  
    app.config.errorHandler = (err, instance, info) => {  
        sharedData.componentName = instance.$options.name;  
        sharedData.errorMessage &#
  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Vue.js 3,我们可以使用vue.config.js文件来配置路径别名。路径别名可以让我们在导入模块时使用自定义的快捷方式。 首先,在目的根目录下创建vue.config.js文件,如果该文件已存在可以跳过此步骤。 然后,打开vue.config.js文件,我们需要使用module.exports导出一个对象。具体的配置如下: module.exports = { configureWebpack: { resolve: { alias: { '@': path.resolve(__dirname, 'src') // 这里的'@'表示src目录的绝对路径 } } } } 在这个配置,我们使用resolve.alias来配置路径别名。在这个例子,我们将'@'符号配置为src目录的绝对路径,这样在代码导入模块时,我们可以使用'@'符号来代替src目录的路径。 例如,如果我们有一个名为HelloWorld.vue的组件文件在src/components目录下,我们可以在其他组件使用以下方式导入它: import HelloWorld from '@/components/HelloWorld' 这样,在代码使用路径别名可以让我们更方便地引用和管理模块路径,提高开发效率。 ### 回答2: 在Vue3,我们可以通过修改vue.config.js文件来配置路径别名。路径别名允许我们在引用文件时使用简短的别名而不是完整的路径。 首先,在目根目录下创建一个vue.config.js文件。如果该文件已存在,则直接打开。 然后,在vue.config.js文件添加以下代码: ``` const path = require('path'); module.exports = { configureWebpack: { resolve: { alias: { '@': path.resolve(__dirname, 'src'), // 添加其他路径别名 // 比如:'@components': path.resolve(__dirname, 'src/components') }, }, }, }; ``` 以上代码,我们使用了Node.js的path模块来处理路径,我们先导入了path模块。 然后,在configureWebpack配置,我们使用resolve对象来配置路径别名。alias字段表示路径别名,它是一个对象,包含我们定义的别名。 @代表src目录的路径。这样我们就可以在引用文件时使用@代替src,例如import App from '@/App'。 如果你还想添加其他路径别名,可以继续在alias对象添加键值对。键表示别名,值表示目标路径。 最后,将上述代码保存并关闭vue.config.js文件。 现在,我们在Vue就可以使用路径别名了。无论是在组件还是在其他文件引用,我们都可以使用别名来代替完整的路径,使代码更加简洁易读。 ### 回答3: 在Vue3,我们可以通过配置vue.config.js文件来设置路径别名。 首先,我们需要在目根目录下创建一个vue.config.js文件。如果该文件已存在,可以直接编辑它。 然后,在vue.config.js文件添加如下代码: ```js const path = require('path'); module.exports = { chainWebpack: (config) => { config.resolve.alias .set('@', path.resolve(__dirname, 'src')) // 设置@别名,将src目录路径映射为@ .set('components', path.resolve(__dirname, 'src/components')) // 设置components别名,将src/components目录路径映射为components .set('views', path.resolve(__dirname, 'src/views')) // 设置views别名,将src/views目录路径映射为views // 可以继续设置其他路径别名 }, }; ``` 以上代码,我们使用了Node.js的path模块来处理路径,需要先通过require引入。 然后,我们使用了chainWebpack配置来进行路径别名的设置。其config.resolve.alias用于设置路径别名,set方法用于给别名起名,并传入对应的路径。 在上述代码,我们添加了三个路径别名,分别是`@`、`components`和`views`。其`@`代表目根目录下的src目录,`components`代表src目录下的components目录,`views`代表src目录下的views目录。 你可以根据需要设置其他路径别名,只需修改set方法的别名和路径即可。 配置vue.config.js后,保存文件并重新运行目,就可以在Vue组件使用路径别名了。例如,要引入src目录下的一个组件,可以这样写:`import Example from '@/components/Example';`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端基地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值