vue-cli静态目录 static和assets

用vue-cli生成一个项目后,src目录下的assets目录和根目录下的static目录都是存放静态文件的。

assets里的文件编译过程中会被webpack处理理解为模块依赖,只支持相对路径的形式。assets放可能会变动的文件;
static里的文件不会被webpack解析,会直接被复制到最终的打包(默认是dist/static)下,必须使用绝对路径引用这些文件。static放不会变动的文件。如放置下载模板:<a href="static/download/user.xlsx" download="用户模板.xlsx">下载</a>

static与assets的区别:

首先需要了解Webpack如何处理静态资产,在 *.vue 组件中,所有模板和CSS都会被 vue-html-loader 及 css-loader 解析,并查找资源URL。

例如,在 <img src="./logo.png">和 background: url(./logo.png) 中,"./logo.png" 是相对的资源路径,将由Webpack解析为模块依赖。因为 logo.png 不是js文件,当被视为模块依赖时,需要使用 url-loader 和 file-loader处理它。vue-cli 的 webpack 脚手架已经配置了这些 loader,因此可以使用相对路径。

由于这些资源可能在构建过程中被内联/复制/重命名,所以它们基本上是源代码的一部分。这就是为什么建议将Webpack 处理的静态资源放在 /src 目录中和其它源文件放一起的原因,即不必把它们全部放在 /src/assets目录中,可以用组件的组织方式来使用它们,例如可以在每个放置组件的目录中存放他们所用的静态资源。

static
相比之下,static/ 目录下的文件并不会被 Webpack 处理。它们会直接被复制到最终目录(默认是dist/static)下,必须使用绝对路径引用这些文件。这是通过在 config.js 文件中的 build.assetsPublicPath 和 build.assetsSubDirectory 连接来设置的。任何放在 static/ 中文件需要以绝对路径的形式引用:/static/[filename]。如果更改 assetSubDirectory 的值为 assets,那么路径需改为 /assets/[filename]。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
vue-cli-service build是一个用于构建Vue项目的命令。它是通过调用vue-cli-service模块来执行构建操作的。具体来说,vue-cli-service指令作为入口文件,被node.exe调用,并将运行参数传递给Service服务模块。该命令会编译和打包Vue项目的源代码,生成用于部署的最终版本。它会将Vue组件、JavaScript文件、CSS样式等打包成静态资源文件,以便在浏览器中运行。通过执行vue-cli-service build命令,您可以生成一个用于生产环境的优化、压缩的Vue项目。请确保您已经按照相应的依赖和配置进行安装和设置,以便成功执行该命令。 vue-cli-service lint是用于代码风格检查的命令。lint命令通过调用vue-cli-service模块,使用ESLint工具对Vue项目的代码进行静态分析,以确保代码符合指定的编码规范。它会检查代码中的潜在错误、不规范的代码风格以及其他一些代码质量问题,并提供相应的提示和警告。通过执行vue-cli-service lint命令,您可以检查和修复代码中的潜在问题,以提高代码的可读性和可维护性。请注意,使用lint命令之前,您需要在项目中配置相应的ESLint规则和配置文件。 总结起来,vue-cli-service build用于构建Vue项目,将源代码打包成可部署的静态资源文件,而vue-cli-service lint用于代码风格检查,帮助您确保代码符合指定的编码规范。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue serve及其与vue-cli-service serve之间的关系](https://blog.csdn.net/pulledup/article/details/126950958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

w_t_y_y

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

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

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

打赏作者

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

抵扣说明:

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

余额充值