【vue打包路径敏感解决】linux下vue打包路径大小写敏感问题分析解决
vue在linux下打包路径大小写敏感,问题解决window下文件的路i的大小写是不敏感的,而linux下文件的路径名称需要区分大小写,在用linux打包文vue项目的时候会出现路径错误。要在linux 下完成打包,需修改文件中路径引用严格区分大小写。此处通过python 脚本对 route/index.js 路径进行修改获取正确路径# -*- coding:utf-8 -*-'''Descrip
·
vue在linux下打包路径大小写敏感,问题解决
window下文件的路i的大小写是不敏感的,而linux下文件的路径名称需要区分大小写,在用linux打包文vue项目的时候会出现路径错误。要在linux 下完成打包,需修改文件中路径引用严格区分大小写。
此处通过python 脚本对 route/index.js 路径进行修改获取正确路径
checkpath.py
# -*- coding:utf-8 -*-
'''
Description:
Author: xiaoming
Date: 2021-12-30 15:22:01
'''
import re
import glob
import os.path
def get_actual_filename(name):
copyname = name
thisPath = os.path.abspath(os.path.dirname(__file__))
#某些路径的不以vue结尾,可能是文件夹,也有可能是文件名称不包括扩展名
if name[-3:] !="vue":
if os.path.isdir( os.path.join( thisPath, name ) ): # isdir 参数需要传入绝对路径
name = name + "/index.vue"
else:
name = name + ".vue"
#有些文件已经被注释掉了文件路径找不到直接返回获取的内容即可
if os.path.isfile( os.path.join( thisPath, name ) ) ==False:
return copyname
#glob.glob获取文件的正确文件名需要传入文件名的格式 name
name = "%s[%s]" % (name[:-1], name[-1])
right = glob.glob(name)[0].replace('\\', '/')
return right
with open('index.js','r',encoding='utf-8') as file:
origin=file.read()
a = re.findall(r"require\(\[\'(.+?)\'\]", origin)
# 获取到要替换的字符串并进行替换
for i in a:
old = i
new = get_actual_filename(i)
print(new)
origin = origin.replace(old, new)
f1 = open('result.js','w')
f1.write(origin)
f1.close
目标文件
生成的结果文件
该结果文件是通过运行checkpath.py脚本生成的,用result.js替换index.js即可。
更多推荐
已为社区贡献2条内容
所有评论(0)