亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Babel / Moment.js / 捆綁的 javascript 在 IE/Safari 中失敗

Babel / Moment.js / 捆綁的 javascript 在 IE/Safari 中失敗

斯蒂芬大帝 2023-06-15 16:24:37
我從其他人那里接管了一個 Vue.js 項目,并且遇到了一些與捆綁的 javascript 代碼有關的跨瀏覽器問題。我不是 Babel 的專家,懷疑可能是某些配置不正確?我可以在自己的開發機器上本地運行 Vue.js 網站,并且可以將其發布為 Azure 網絡應用程序。測試網站給出以下結果:Chrome:在本地和 Azure 中托管時運行良好。IE 11:在本地托管時運行良好,但在 Azure 中托管時失敗。Safari:在 Azure 中托管時失?。ㄎ丛诒镜貒L試過)令我感到驚訝的是,當網站托管在本地時,IE 11 工作正常,但當網站托管在 Azure 中時,IE 11 運行失敗。這是同一個捆綁的 js 文件。當網站托管在 Azure 中時,IE 和 Safari 都在捆綁的 js 文件中的同一行失敗。IE錯誤信息是:SCRIPT5018: Unexpected quantifierSafari 錯誤消息是:SyntaxError: Invalid regular expression: nothing to repeat..而且我相信我已經將問題縮小為這個正則表達式:meridiemParse:/?|?/...確實看起來不正確。但是為什么腳本在某些情況下會成功,特別是當網站在本地托管時,為什么 IE 可以正常工作?無效的正則表達式似乎來自 moment.js 庫,但也許是在從 babel 進行了一些不正確的轉換之后?這是我的 Babel 設置:{    "plugins": [        "@babel/syntax-dynamic-import",        "@babel/plugin-proposal-class-properties",        ["babel-plugin-root-import",            {                "paths": [                    {                        "rootPathSuffix": "./scripts",                        "rootPathPrefix": "~/"                    }                ]            }        ]    ],  "presets": [        [            "@babel/preset-env",            {                "useBuiltIns": "usage",                "corejs": "3.7",                "modules": false            }        ]  ]}任何建議,如何解決這個問題并使捆綁的 js 跨瀏覽器工作?
查看完整描述

1 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

好的,我現在已經解決了這個問題。

觀察 1: IE 工作的原因,當網站在本地托管時,但當網站在 Azure 中托管時不工作,是因為方法代碼內部正在GetPathWithCacheBust檢查網站是否在本地托管 - 并且如果是,則直接加載 javascript 文件而不進行任何縮小。

觀察 2: 如問題中所述,我已經從其他人那里接管了代碼庫。經過更深入的檢查后,我發現,使用 .ashx 文件在 web.config 文件中應用了自定義縮小邏輯。這種自定義縮小邏輯似乎破壞了特殊字符,從而導致 moment.js 中的 javascript 錯誤。

我刪除了自定義縮小邏輯并使用 Microsoft.AspNet.Web.Optimization NuGet 包應用了默認捆綁/縮小。

起初,這沒有按預期工作(出現 404 錯誤,因為找不到縮小的包)。但我發現,這是由于與網站使用的 Umbraco 發生沖突。將此行添加到 web.config 后,一切終于正常了:

<add key="umbracoReservedUrls" value="~/bundles/" />

所以最后,這個問題根本與 Babel 或 Moment.js 無關——而是由于某些自定義縮小代碼中的錯誤。


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號