i18next-fs-backend无法从OneDrive加载翻译文件的问题求助
i18next-fs-backend无法从OneDrive加载翻译文件的问题求助
我现在遇到一个头疼的问题——想用i18next的FsBackend从OneDrive目录加载翻译文件,但Playwright/i18next总是跑到C盘根目录去找文件,完全忽略了OneDrive的路径。有没有大佬能帮我看看哪里错了?
先贴一下我的核心代码:
const localePath = path.resolve('./locales'); // 这里console.log出来的路径是对的:C:\Users\myuserpath\OneDrive - MyStuff\QA-Automation\locales i18next .use(FsBackend) .init({ lng: 'en', ns:['signin.page', 'chat.page','session.page', 'landing.page', 'userprofile.page'], FsBackend:{ FsBackendOptions: {loadPath: path.join(localePath, '/{{lng}}/{{ns}}.page.json'),}, } })
预期与实际结果
- 预期:翻译文件应该从这个路径加载:
C:\Users\myuserpath\OneDrive - MyStuff\QA-Automation\locales\en\NAMESPACEFILE.page.json - 实际:直接报错找不到文件,错误信息显示它在找:
C:\locales\en\NAMESPACEFILE.page.json
我已经尝试过的方法
- 通过环境变量获取OneDrive路径
const myOneDrive = process.env.OneDriveCommercial; const longerpath = path.join(myOneDrive, '/QA-Automation/locales/{{lng}}/{{ns}}.page.json'); i18next .use(FsBackend) .init({ // 其他配置省略 FsBackend:{ FsBackendOptions: {loadPath: longerpath},}, })
- 硬编码完整路径
const fullpath = 'C:\Users\myuserpath\OneDrive - MyStuff\QA-Automation\locales' FsBackend:{ FsBackendOptions: {loadPath: fullpath},},
- 在init里直接硬编码完整带模板的路径
FsBackendOptions: {loadPath: 'C:/Users/myuserpath/OneDrive - MyStuff/QA-Automation/locales/{{lng}}/{{ns}}.page.json',},
- ...以及无能狂怒
const dev_reaction = '$#!(#&*$@$!!!'
但不管试哪种方法,结果全一样——它完全无视OneDrive的路径,一个劲往C盘根目录的locales文件夹找文件,我快愁死了😭
备注:内容来源于stack exchange,提问作者Christian Gibbs
相关产品推荐
相关产品推荐

