Vue访问静态资源

275 阅读2分钟

这是我参与2022首次更文挑战的第21天,活动详情查看:2022首次更文挑战

前言:今天我们继续昨天将的静态资源的访问,昨天我们说了后端JAVA对于静态资源的过滤可以通过SpringMVC提供的处理静态资源方法。这篇文章我们将介绍一下前端VUE对静态资源的访问。

声明:这边我们可以看一下花裤衩大佬是如何写的。

代码的实现:

一、我们来看一下在build目录下的webpack.base.conf.js文件

module: {
    rules: [
        // ...(config.dev.useEslint ? [createLintingRule()] : []),
        {
            test: /.vue$/,
            loader: 'vue-loader',
            options: vueLoaderConfig
        },
        {
            test: /.js$/,
            loader: 'babel-loader?cacheDirectory',
            include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
        },
        {
            test: /.svg$/,
            loader: 'svg-sprite-loader',
            include: [resolve('src/icons')],
            options: {
                symbolId: 'icon-[name]'
            }
        },
        {
            test: /.(png|jpe?g|gif|svg)(?.*)?$/,
            loader: 'url-loader',
            exclude: [resolve('src/icons')],
            options: {
                limit: 10000,
                name: utils.assetsPath('img/[name].[hash:7].[ext]')
            }
        },
        {
            test: /.(mp4|webm|ogg|mp3|wav|flac|aac)(?.*)?$/,
            loader: 'url-loader',
            options: {
                limit: 10000,
                name: utils.assetsPath('media/[name].[hash:7].[ext]')
            }
        },
        {
            test: /.(woff2?|eot|ttf|otf)(?.*)?$/,
            loader: 'url-loader',
            options: {
                limit: 10000,
                name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
            }
        }
    ]
},

以上我们把此项目用用到的资源文件都用正则表达式所提出来了,在遇见 css、vue、js、svg、音频、文档等资源文件,我们将可以直接进行访问,就可以得到我们想要的文件。

自定义方式

我们可以使用vue-cli的webpack的功能来定义,自定义别名这个功能当你在多层文件夹嵌套的时候就不需要自己每层去找路径,可以直接使用自定义别名就可以找到文件的位置,我们还是修改build目录下的webpack.base.conf.js文件内容,编写方式如下。

image.png

我们可以这样来使用资源文件,如下图所示:

image.png

总结:在我们的项目中,资源文件被我们常常使用,对于资源文件的放行和访问的方式方法有很多这边我就不一一列举了,因为自己并非前端,使用的时候只是在项目中遇到过,所以个人总结的Vue访问静态资源的方法就写到这里。