2017-04-19 75 views
2

我的項目結構,當工人投擲404看起來像網絡執行

js 
    /client.js 
    /script1.js 
    /webWoker.js 
node_modules 
.gitignore 
index.html 

main.html有它在

<script type="text/javascript" src="js/script1.js"></script> 
<script type="text/javascript" src="js/client.js"></script> 
<script type="text/javascript" src="js/webWoker.js"></script> 

包括在內我script1.js看起來像

if (window.Worker) { 
    console.log("uri: " + document.documentURI); 
    var myWorker = new Worker("myworker.js"); 
    myWorker.postMessage("hello"); 
    console.log(myWorker); 

    myWorker.onmessage = function (e) { 
     result.textContent = e.data; 
     console.log('Message received from worker: ' + result.textContent); 
    }; 
} 

和我webWorker.js看起來像

onmessage = function (e) { 
    console.log('Message received from main script'); 
    var result = "#27ae60"; 
    console.log('Posting message back to main script'); 
    postMessage(result); 
}; 

我用node.js這個項目,並通過npm start運行它,當我運行這個瀏覽器我看到

script1.js:81 GET http://localhost:8080/webWorker.js 404 (Not Found) 
execute @ script1.js:81 
img.onload @ script1.js:64 

這是怎麼回事錯在這裏?

回答

2

您不必在主頁中包含工作腳本(這甚至是一個壞主意),但是您傳遞給new Worker(URI)的URI與當前documentURI相關。

所以在你的情況下,它應該是new Worker("/js/webWorker.js");

+0

'scipt1.js:81 GET http:// localhost:8080/webWorker.js 404(Not Found)'。即使我改變了路徑並將其從'html'文件中刪除了,我仍然可以得到它 – daydreamer

+0

@daydreamer try'/ js/webWorker.js'你不顯示'main.html' – Kaiido

+0

你好@Kaiido,甚至'/ js/webWorker.js'似乎不起作用。我已經更新了我的問題,路徑爲'index.html'。 – daydreamer

相關問題