當我把Flutter應用部署到Firebase時,我在chrome控制臺得到了這個錯誤,
(index):7272 crbug/1173575, non-JS modules files deprecated.
它首先加載了舊版本的應用程式,但現在它向我拋出了這個錯誤,并在chrome頁面上花了太長時間來回應訊息。我試著洗掉了那個Firebase頻道并創建了一個新的頻道,但還是沒有任何變化。 此外,當我第一次在chrome隱身模式下打開我的網站時,它第一次作業,但現在它也不作業了......
我還試著洗掉了我的Firebase頻道,并創建了新的頻道,但仍然沒有變化。
我還嘗試洗掉我在vscode中的launch.json檔案,認為這可能是問題的原因,但仍然沒有任何變化。
這個網路應用程式在IOS 12.5.4中也不作業,所以是什么原因導致這個問題,我無法弄清楚,請幫助,但我主要關心的是在windows chrome 這是我的網路應用。
下面是我的index.html檔案,我隱藏了我的Firebase apikeys,所以請忽略它
<!DOCTYPE html>
<html>
<head>
<!-- <base href="/"> -->
<meta charset="UTF-8">
< meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project. ">
<!--iOS元標簽& 圖示-->
< meta name="apple-mobile-web-app-capable" content="yes">
< meta name="apple-mobile-web-app-status-bar-style" content="black">
< meta name="apple-mobile-web-app-title" content="Devcom">
<link rel="apple-touch-icon" href="icons/Icon-192。 png">。
<! -- Favicon -->
< link rel="快捷圖示" type="image/png" href="favicon。 png" />
<title>Devcom</title>
<link rel=" manifest" href=" manifest. json">。
</head>
<body>
<script src="https://www. gstatic.com/firebasejs/8.6.1/firebase-app.js"></script>
<script src="https://www. gstatic.com/firebasejs/8.6.1/firebase-auth.js"></script>
<script src="https://www. gstatic.com/firebasejs/8.6.1/firebase-firestore.js"></script>
<script type="module">/span>
var firebaseConfig = {
apiKey: ""。
authDomain: "devcom-ecc99.firebaseapp.com"。
databaseURL: "https://devcom.firebaseio.com"。
projectId: "devcom-ecc99",
storageBucket: "devcom-ecc99.appspot.com",
messagingSenderId: "......"。
measurementId: ".......",
appId: "1:.........:web:........",
};
firebase.initializeApp(firebaseConfig)。
// const app = initializeApp({ firebaseConfig });
// const app = getAnalytics({ firebaseConfig })
</script>>
<script>
var serviceWorkerVersion = null;
var scriptLoaded = false;
function loadMainDartJs() {
if (scriptLoaded) {
return;
}
scriptLoaded = true;
var scriptTag = document.createElement('script')。
scriptTag.src = 'main.dart.js';
scriptTag.type = 'application/javascript'。
document.body.append(scriptTag)。
}
if ('serviceWorker' in navigator) {
//服務作業者被支持。使用它們。
window.addEventListener('load', function() {
///等待注冊完成后再丟棄<script>標簽。
//否則,瀏覽器將多次加載腳本,
//可能是不同的版本。
var serviceWorkerUrl = 'flutter_service_worker.js?v=' serviceWorkerVersion;
navigator.serviceWorker.register(serviceWorkerUrl)
.then((reg) =>/span> {
function waitForActivation(serviceWorker) {
serviceWorker.addEventListener('statechange', () => {
if (serviceWorker.state == 'activated') {
console.log('Installed new service worker.')。
loadMainDartJs()。
}
});
}
if (!reg.active && (reg.installing| reg.waiting) {
//沒有活躍的網路作業者,我們已經安裝或正在安裝。
//第一次安裝一個。只需等待它的激活。
waitForActivation(reg.installing ? ?reg.waiting)。
} else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
//當應用程式更新時,serviceWorkerVersion會改變,所以我們
//需要要求服務作業者更新。
console.log('New service worker available. ' )。
reg.update()。
waitForActivation(reg.installing)。
} else {
// Existing service worker is still good.
console.log('Loading app from service worker. ' )。
loadMainDartJs()。
}
});
//如果服務作業者沒有在合理的時間內成功,
//fallback to plaint <script> tag.
setTimeout(() => {
if (!scriptLoaded) {
console.warn(
'Failed to load app from service worker. 回落到普通<script>標簽。'。
);
loadMainDartJs()。
}
}, 4000)。)
});
} else {
//不支持服務作業者。只需放棄<script>標簽。
loadMainDartJs()。
}
</script>
</body>
</html>/span>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
感謝任何幫助...
謝謝你,
uj5u.com熱心網友回復:
在我的index.html檔案中缺少一個腳本標簽,所以首先要檢查你的html檔案是否有這類錯誤,但我也做了以下步驟。
洗掉widget_test.dart檔案對我來說確實有效,
我還洗掉了自動生成的launch.json,該檔案在洗掉后又被創建。
我在使用flutter_webrtc的時候,flutter使用了stun和turn服務器,所以我先洗掉了那個插件和所有與之相關的代碼,后來又重新安裝了它們,所以我猜是插件安裝不當和錯誤的html腳本標簽導致了這個錯誤。然后我運行flutter clean和flutter create .,現在作業正常了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/328429.html
標籤:
