Yii2中的资源管理的sourcePath/basePath/baseUrl分别是指的什么

简介: Yii2中的资源管理的sourcePath/basePath/baseUrl分别是指的什么

sourcePath/basePath/baseUrl

sourcePath 源文件路径

sourcePath的位置位于vendor/yiisoft/yii2/web/AssetBundle.php

指的是项目的模板引用的资源的源文件,如果设置的资源文件目录是不能被直接访问的,那么在访问的时候Yii2会将需要的文件复制到临时文件夹中。

比如,我们将sourcePath设置为@app/res/,也就是静态资源文件(图片,css,js)都放在/res

显然/res不在/web下,那么不能被直接访问,所以,我们引入发布资源的概念,让你需要的资源文件在视图文件中引用资源包被注册。

basePath 基础路径

basePath指的是包含这个AssetBundle中资源文件的Web可访问目录。

但是当你设置了sourcePath,则basePath就会被AssetManager覆盖。

assetManager的位置,通过查看源代码

/**
     * Returns the asset manager.
     * @return \yii\web\AssetManager the asset manager application component.
     */
    public function getAssetManager()
    {
        return $this->get('assetManager');
    }

assetManager的获取方式为配置文件的web.php

baseUrl

baseUrl指的是创建资源包中引用的js和css的基本网址

当资源包中的js采用相对路径表示时,会自动加上baseUrl的设置,比如js/main.js

总结

  • sourcePath可以配置非web目录下的静态资源
  • basePath配置web目录下的静态资源
  • sourcePathbasePath是冲突的,只能二选一
  • baseUrl给引入相对路径的静态资源提供域名前缀
相关文章
|
5月前
|
存储 API
使用Webpack的module.hot API来定义模块的热替换
使用Webpack的`module.hot` API实现模块热替换,简单示例展示如何在`myModule`变化时执行回调。`module.hot.accept`接收模块路径和回调函数,当模块或其依赖变更时触发回调,用于执行更新逻辑。可通过`module.hot.data`保存和恢复状态以实现热替换时保持应用程序的状态。
|
29天前
|
安全 关系型数据库 开发工具
一起聊聊 Supabase 如何构建其平台工程策略
【9月更文挑战第4天】Supabase 是一家开源 PostgreSQL 数据库基础设施提供商,被视为 Google Firebase 的替代方案。该公司采用不断演进的平台工程策略,为其开发团队提供高效的应用开发工具。自2020年起运营的 Supabase 通过整合与自动化内部开发平台,显著提升了生产力。平台工程师 Samuel Rose 加入后,进一步正式化和扩展了这一策略,结合自有产品与行业标准工具,实现了更高效的开发流程。目前,Supabase 的平台工程成果显著,为开发者提供了更好的自助服务和支持。
45 13
|
2月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
|
2月前
|
安全 API 网络架构
【Azure Logic App】使用 Easy Auth 在标准逻辑应用(Standard Logic App)中触发工作流
【Azure Logic App】使用 Easy Auth 在标准逻辑应用(Standard Logic App)中触发工作流
|
2月前
|
Java Maven C++
【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
|
2月前
LangChain 构建问题之定义extract_local_group_size工具如何解决
LangChain 构建问题之定义extract_local_group_size工具如何解决
10 0
|
4月前
|
应用服务中间件 Linux 网络安全
PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
在Azure App Service for Linux上部署的PHP应用遇到上传文件超过1MB时出现413 Request Entity Too Large错误的解决之法
202 0
|
5月前
|
运维 Kubernetes 前端开发
云效产品使用报错问题之部署主机上的globalParams.sh中变量的值是base64编码过的,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
JavaScript 前端开发 API
使用ort.js的create方法加载onnx模型报错:Fetch API cannot load file…… URL scheme “file“ is not supported.
使用ort.js的create方法加载onnx模型报错:Fetch API cannot load file…… URL scheme “file“ is not supported.
538 0
使用ort.js的create方法加载onnx模型报错:Fetch API cannot load file…… URL scheme “file“ is not supported.
|
5月前
|
移动开发
解决uniapp发布H5项目生产环境运行报错index.63b34199.css:1 Failed to load resource: the server responded with a
解决uniapp发布H5项目生产环境运行报错index.63b34199.css:1 Failed to load resource: the server responded with a
下一篇
无影云桌面