日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript - ES6 import {} from ’..’后綴名的問題

瀏覽:108日期:2023-06-05 11:29:37

問題描述

最近在看阮一峰的ES6入門。下圖中圈出來的地方不太理解。

javascript - ES6 import {} from ’..’后綴名的問題

文中說到.js后綴不可省略。但是下文中又出現了如下寫法:

// lib.jsexport let counter = 3;export function incCounter() { counter++;}// main.jsimport { counter, incCounter } from ’./lib’;console.log(counter); // 3incCounter();console.log(counter); // 4

這里import { counter, incCounter } from ’./lib’;不是省略了.js后綴名嗎。對比了一些人家寫的react代碼:

import React from 'react';import { render } from 'react-dom';import { Provider } from 'react-redux';import App from './containers/App.jsx';import Store from './store/Store';

import React from 'react';這里也省略了.js后綴,但是import App from './containers/App.jsx';卻又把后綴名完整寫出來了。

請教一下各路大神,解答一下疑問:import..from的后面究竟在什么情況下要寫.js這類的后綴名,什么時候不需要寫。還是因為別人用工具配置了什么東西所以才不需要寫后綴名。萬分感謝!!!

問題解答

回答1:請先區分瀏覽器原生解析還是打包工具預處理。瀏覽器原生

瀏覽器在解析 import 語句時是需要后綴的,更確切地說,瀏覽器認 import 后面這個字符串為一個 URL 地址。這個和你在 CSS 文件里寫 background-image: url(./path/to/a.jpg) 是一回事。瀏覽器會根據當前文件以及頁面的 BaseURL 等相關信息,得出這個被依賴的資源的 URL 地址,進而向服務器發送 HTTP 請求。后綴在 HTTP 請求的 URL 地址中并不是那么重要,瀏覽器認的是 HTTP 響應頭里的 Content-Type,只要托管你的 js 或圖片的資源服務器能正確響應瀏覽器的 HTTP 請求,你可以隨便定義后綴(當然,一般資源服務器會有一個從文件擴展名到 HTTP 響應頭 MIMEType 的映射,你可以添加其他自定義后綴,使得服務器能正確響應,但是最好按約定的進行配置),甚至可以掛羊頭賣狗肉,URL叫http://a.com/b.jpg 返回內容是響應頭為 application/javascript 的一段文本字符。

打包工具

打包工具的場景下,為了兼容性,js 中的 import 語句都會被翻譯成用 ES5 實現的模塊管理的導入語句,比如 webpack 的 __webpack_require__, 瀏覽器最后加載的是打包后的 bundle 文件,并沒有執行 import 語句(大部分瀏覽器至今尚未實現import)。 這個時候,我們寫的 import 后面到底要不要后綴,全憑工具自己定義規則啊,只要工具在編譯打包時能找到被依賴模塊。比如webpack可以設定先找 .ts 如果沒有再找 .es 再找 .js, 如果是一個文件夾,就看文件夾里有沒有 index.js,甚至從node_modules目錄中去查找 ...

總結:

轉譯打包工具:不用寫

原生支持ES6的node:不用寫

原生支持ES6的瀏覽器:能通過URL在服務器上找到就行,如果真到了HTTP2盛行,ES6完全被瀏覽器實現,文件不用打包的時候,打包工具會有辦法輕松處理的。

總總結:別寫回答2:

個人見解:

比如說:react、react-dom、vue等都是貢獻者發布的 NPM package(也就是打包好的模塊),使用NPM安裝后都會存放到node_modules目錄下,這些都是上文所提到的module

而JS文件并不是一個module,(這里說的不完全)

在ES6中提供了模塊化,(使用import、export定義模塊)

在Node.js中,采用CommonJS規范定義模塊

推薦一篇文章

回答3:

.js不能省略,主要是為了可讀,以及區分。假設你目錄下有個自己寫的模塊test,還有一個自己寫的js文件test.js。模塊是以文件夾形式存在的,然后你用import ’./test’,你無法確定你加載的是模塊還是test.js(雖然,在ES6中,一個JS文件也算是一個模塊)。

你看到的這種代碼import React from 'react',并不是省略了.js,而是直接省略了/index.js。這是一個由npm安裝的包,在node_modules文件夾下面,其實它導入的是node_modulesreactindex.js,是整個包的入口文件,然后由index.js再去加載react需要用到的其他子js文件

注意,在node.js里,暫時還不支持ES6的import語法,所以需要通過require()引入包,用module.exports和exports暴露包中的可引入部分。

詳細請看MDN文檔

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
成人福利av| 久久影院午夜精品| 在线综合亚洲| 欧美日韩一区二区国产| 日韩综合精品| 少妇高潮一区二区三区99| 国产粉嫩在线观看| 国产精品久久久久毛片大屁完整版| 国产模特精品视频久久久久| 欧美在线资源| 亚洲在线国产日韩欧美| 国产高清一区二区| 亚洲欧美高清| 视频一区日韩| 麻豆一区在线| 久久国产婷婷国产香蕉| 另类亚洲自拍| 国产剧情一区二区在线观看| 麻豆国产91在线播放| 成人日韩精品| 噜噜噜久久亚洲精品国产品小说| 免费人成精品欧美精品| 性色av一区二区怡红| 午夜久久av | 国产美女亚洲精品7777| 日韩精品一区二区三区免费视频| 日韩午夜视频在线| 精品三级在线观看视频| 亚洲毛片在线| 欧美亚洲三级| 日韩精品一卡| 亚洲综合专区| 日韩伦理一区| 日韩精品五月天| 蜜臀国产一区| 亚洲制服少妇| 久久久久黄色| 丝袜a∨在线一区二区三区不卡| 91九色综合| 亚洲电影在线一区二区三区| 亚洲人www| 日韩久久精品网| 国产麻豆一区二区三区| 视频一区在线播放| 亚洲精品va| 久久精品理论片| 牛牛精品成人免费视频| 久久精品国产亚洲夜色av网站| 国产不卡精品在线| 美女久久久精品| 国产精成人品2018| 国产区精品区| 久久国产精品色av免费看| 18国产精品| 国产麻豆精品| 欧美aa在线视频| 黄色aa久久| 成人免费电影网址| 五月天久久久| 一区二区高清| 欧美一级专区| 美国三级日本三级久久99| 中文无码日韩欧| 亚洲tv在线| 国产欧美高清视频在线| 欧美成人精品| 国产日韩1区| 国产精品2023| 亚洲1234区| 亚洲国产日韩欧美在线| 亚洲影院天堂中文av色| 久久伊人亚洲| 久久精品高清| 亚洲精品一二| 精品视频黄色| 国产一区二区三区四区大秀| 日韩视频久久| 日韩国产欧美视频| 99久久久久国产精品| 欧美日一区二区在线观看| 日韩欧美午夜| 亚洲精品日韩久久| 亚洲黄色网址| 亚洲精品美女91| av在线日韩| 国产精品sm| 国产视频一区二| 婷婷激情久久| 国产精品视频3p| 日韩久久视频| 夜夜嗨一区二区三区| 国产欧美日韩精品一区二区免费| 国产美女高潮在线观看| 91麻豆精品| 日韩在线一区二区| 狠狠久久伊人| 日韩av成人高清| 亚洲视频www| 日韩三区在线| 久久久久亚洲精品中文字幕| 亚洲中字黄色| 国产精品xxx在线观看| 日韩精品欧美激情一区二区| 最新亚洲一区| 久久国产66| 亚洲永久精品唐人导航网址| 日韩av一二三| 日本不卡免费高清视频在线| 国产极品嫩模在线观看91精品| 国产精品亚洲人成在99www| 麻豆免费精品视频| 久久久久网站| 日韩精品一二三四| 97se亚洲| 黑人精品一区| 六月婷婷一区| 你懂的亚洲视频| 香蕉久久99| 国产欧美另类| 欧美黄页在线免费观看| 亚洲18在线| 日本综合精品一区| 国产精品成人**免费视频| 国产精品美女在线观看直播| 国产精品2区| а√天堂中文在线资源8| 久久国产免费| 国产视频一区三区| 日韩一区二区三免费高清在线观看 | 色婷婷成人网| 久久国产婷婷国产香蕉| 成人在线丰满少妇av| 亚洲不卡av不卡一区二区| 宅男噜噜噜66国产日韩在线观看| 综合亚洲视频| 国产精品**亚洲精品| 久久精品成人| 亚久久调教视频| 精品国产一级| 蜜桃视频第一区免费观看| 国产欧美在线观看免费| 久久久久久久久久久9不雅视频| 久久在线电影| 国产欧美综合一区二区三区| 激情欧美一区| 久久影视三级福利片| 蜜臀久久精品| 中文字幕日韩高清在线| 国产精品s色| 免费欧美日韩| 久久久久久色 | 日本久久成人网| 午夜性色一区二区三区免费视频| 97国产精品| 亚洲视频二区| 秋霞影院一区二区三区| 国产精品中文字幕制服诱惑| 亚洲国产一区二区三区在线播放| 国产精品草草| 亚洲精品系列| 国产亚洲精品v| 91精品久久久久久久久久不卡| 国产美女久久| 日本国产亚洲| 亚洲婷婷丁香| 91欧美在线| 欧美日韩一区自拍| 一区免费视频| 欧美日韩亚洲在线观看| 福利片在线一区二区| 精品99在线| 久久精品72免费观看| 国产精品美女久久久| 日韩精品午夜| 欧美精品高清| 久久精品国产68国产精品亚洲| 久久精品九色| 国产精品久久久一区二区| 国产欧美一区二区三区米奇| 免费看黄色91| 亚洲香蕉久久| 在线亚洲欧美| 中文精品视频| 亚洲精品美女| 欧美日韩午夜电影网| 欧美视频一区| 国产成人精品一区二区三区在线| www.九色在线| 欧美精品激情| 日韩综合一区| 国产精品久久久久久久久久妞妞| 欧美特黄一级大片| 深夜视频一区二区| 在线综合视频| 欧美日韩一区二区高清| 精品一区91| 国产精品久久观看| 久久影视一区| 亚洲精品影视| 日韩大片免费观看|