相信大家在測試type="module" 在html文件中直接模塊化引入 js時,會出現一個跨域問題。
當我們將<script ></scirpt> 標簽type設置為"module" 之后,script 標簽就不具備跨域能力了
自然我們需要將項目托管在一個本地服務里面。下面時一個簡單的Node.js 服務
```js
var http = require('http');
var fs = require('fs');
http.createServer(function(req, res) {
if(req.url ==='/favicon.ico') {
return res.end();
} // 將默認的瀏覽器行為過濾。也並無相關
var f= '/this上下文module模式/1.html';
if(req.url.match(/.js$/)) {
f = '/this上下文module模式'+req.url;
res.setHeader('content-Type','text/javaScript;charset:utf-8')
} // 核心解決方法 ------
res.writeHead(200);
if(req.url === '/2') {
return fs.createReadStream(__dirname+'/this上下文module模式/2.html').pipe(res)
} // 這個時測試另外一個分頁,與本篇隨筆無關
fs.createReadStream(__dirname+f).pipe(res);
}).listen(3000);
```js
如果沒有核心代碼部分,對js訪問時的操作,那么就會出現下面這個報錯。

因為項目在服務器上,那么瀏覽器在請求lib.js的時候,不在時file協議,而是以http協議的方式。我們需要單獨對js的請求,進行格式的添加。即
content-Type: text/javascript 大家又沒有發現,這個type其實如果在不是module形勢下。時script 默認規定了格式 text/javascript