如何配置vue.config.js 处理static文件夹下的静态文件

(编辑:jimmy 日期: 2024/10/31 浏览:2)

最近开发过程中遇到个小需求,需要根据需求动态配置一些静态数据,但我不想直接把这个静态文件引入进来,build时就会把数据打包到js文件中,造成js文件很大;呃呃。。。。(ps:就想给自己找点别扭)
回头看一下项目,果断的在根目录下创建一个static/test.json文件,在目标页面下fetch获取这个json文件里的数据:

fetch("../static/test.json")
.then(res => res.json())
.then(res => {
//获取到了数据
})
.catch(err=>{
//解析错误或者获取数据失败
})

ok,就这么简单,完活了运行起来看看效果(灰常自信);

如何配置vue.config.js 处理static文件夹下的静态文件

结果现实给了我一记记大嘴巴子;
他居然走了catch error,打开浏览器查看一下

如何配置vue.config.js 处理static文件夹下的静态文件

结果状态是200,fetch请求没有什么问题,那就可能是json文件路径有问题,它不想让我找到,居然和我躲猫猫;我这小脾气怎么能忍,结果又一个 2000 years later。。。。

我发现在我build完后,打包好的项目中没有test.json文件,因为我用的是vue-cli 3.x 构建的项目,在不引用的情况下,不会把这个静态文件打包带走的,所以 真想只有一个,不是人家在躲猫猫,是我根本就没带人家玩。

so 正文终于来了(对不起,前戏有点多):

我想把static下所有的静态文件原封不动打包带走,我想到了

copy-webpack-plugin

安装完成后在vue.config.js 文件配置一下吧

//引入
const CopyWebpackPlugin = require("copy-webpack-plugin") //引入插件

module.exports = {
  
  configureWebpack: {
    plugins: [
     new CopyWebpackPlugin({
      patterns:[{
       from: "./static",
       to: 'static'
      }]
     })
    ]
 }
}

ok,就这么简单,完活了运行起来看看效果(还是灰常自信):

如何配置vue.config.js 处理static文件夹下的静态文件

以上就是遇到这个问题整个解决的思路啦;

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。