Taro——H5项目如何修改静态文件入口

简介: 这里我们说两种情况,一种是在静态资源引入的时候加入前缀,另一种是真正的将静态资源输出到指定的目录下。

前言

这里我们来说下如何修改Taro静态文件的入口,一般情况下是不需要修改的,但是如果你是在当前项目下部署的二级站点,那你就需要调整了。

内容

这里我们说两种情况,一种是在静态资源引入的时候加入前缀,另一种是真正的将静态资源输出到指定的目录下。

静态资源前缀

这里的静态文件入口指的是仅index.html中静态引入资源文件中,加入相应的前缀,其他的不做任何变动,上配置:

{
   
  h5: {
   
    //....省略的配置
    router: {
   
      mode: 'browser',
      basename: '/mobile',
    },
    publicPath: '/mobile',
    //....省略的配置
  }
}

是不是很简单,只需要调整下publicPath,但是如果你不清楚Taro的配置文件,那估计你要搞到头疼咯。

那么 nginx 我们应该如何代理呢?接下来,让我们继续看配置:

# 这里的mobile其实就是我们前面在`Taro`配置的`basename`
location ^~ /mobile/ {
   
    alias /var/www/html/hhk-mobile/web/;
    index index.html;
    try_files $uri $uri/ /mobile/index.html;
    access_log /alidata/www/wwwlogs/mobile.log;
}

站点目录: /var/www/html/hhk-mobile/

制品目录: web/ (在站点下打包后,使用 mv dist web 命令即可)

重新载入 nginx 的配置文件后,访问 https://<域名>/mobile 即可。

指定静态资源目录

指定静态资源的输出目录,配置也很简单,只需要我们在h5下进行以下配置,那么打包后,你的制品就会输出到自定义的mobile下,当前你的index.html引入的资源也会是/mobile/js/xxx.js

{
   
  h5: {
   
      output: {
   
              filename: 'mobile/js/[name].[contenthash:8].js',
              chunkFilename: 'mobile/js/[name].[contenthash:8].js',
            },
        miniCssExtractPluginOption: {
   
              filename: 'mobile/css/[name].[contenthash:8].css',
              chunkFilename: 'mobile/css/.[contenthash:8].css',
        },
  }
}

或许这时候你会说,那么我直接指定输出目录不就好了嘛,但其实这个不符合我们的诉求,因为这里的制品会多嵌套一层 mobile 的目录,那么我们访问静态资源的地址就是 https://<域名>/mobile/mobile/js/xxxjs,只有这样我们才能拿到静态资源,但是我们实际的访问地址是https://<域名>/mobile/js/xxxjs,这就会导致我们访问静态资源出现404。

总结

以上就是所有的内容了,这里有个小建议,大家遇到问题的时候,大家可以多看下官方的文档、github issue,如果真的找不到的时候,可以先放空下再来思考。

目录
相关文章
|
人工智能 前端开发 API
【代码吸猫】使用 Google MLKit 进行图像识别
【代码吸猫】使用 Google MLKit 进行图像识别
1078 0
如何获取与设置光标在input框的位置
如何获取与设置光标在input框的位置
如何获取与设置光标在input框的位置
|
10月前
|
机器学习/深度学习 存储 缓存
大模型推理加速技术:PagedAttention原理与实现
本文深入解析大语言模型推理中的革命性技术——PagedAttention,该技术是vLLM推理引擎的核心创新。通过将操作系统中的虚拟内存分页概念引入注意力机制,PagedAttention有效解决了KV缓存的内存碎片问题,实现了近乎零浪费的KV缓存管理。文章详细阐述其原理、内存管理机制、实现细节,并提供完整的代码示例和性能分析。
1236 1
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
本文介绍了Taro中`useShareAppMessage`的使用方法,需在页面配置`enableShareAppMessage: true`并重新编译。
1406 0
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
|
存储 Unix 编译器
汇编语言----X86汇编指令
汇编语言----X86汇编指令
1658 2
基于edge的wetab插件使用
基于edge的wetab插件使用
448 0
|
存储 前端开发 索引
React 图片轮播组件 Image Carousel
本文介绍了如何使用React创建图片轮播组件。首先,解释了图片轮播的基本概念和组件结构,包括图片容器、导航按钮、指示器和自动播放功能。接着,通过代码示例详细说明了创建基本组件、添加自动播放、处理边界情况的步骤。还探讨了常见问题如状态更新不及时、内存泄漏和样式问题,并提供了解决方案。最后,介绍了进阶优化,如添加过渡效果、支持触摸事件和动态加载图片,帮助读者构建更完善的轮播组件。
506 16
|
数据可视化 JavaScript 前端开发
数据可视化进阶:D3.js在复杂数据可视化中的应用
【10月更文挑战第26天】数据可视化是将数据以图形、图表等形式呈现的过程,帮助我们理解数据和揭示趋势。D3.js(Data-Driven Documents)是一个基于JavaScript的库,使用HTML、SVG和CSS创建动态、交互式的数据可视化。它通过数据驱动文档的方式,将数据与DOM元素关联,提供高度的灵活性和定制性,适用于复杂数据的可视化任务。 示例代码展示了如何使用D3.js创建一个简单的柱状图,展示了其基本用法。D3.js的链式调用和回调函数机制使代码简洁易懂,支持复杂的布局和交互逻辑。
638 3
|
前端开发 流计算
css:text-decoration给文字增加上划线、删除线、下划线
css:text-decoration给文字增加上划线、删除线、下划线
3732 0
css:text-decoration给文字增加上划线、删除线、下划线

热门文章

最新文章