JavaScript 为什么是 import ... from ...

2019-04-25 09:47:42 +08:00
 zeyexe

JavaScript 为什么是 import ... from ...,而不是 from ... import ... 呢?

如果是 from ... import ... 语法,到 import 部分的时候 IDE 就可以提示允许 import 的 module 了,基本只需要输入几个字母或者选择一下就可以了,而 import ... from ... 需要自己先知道想 import 的 module 的全名,每次写起来都要先去看一下定义。我为了利用 IDE 的提示功能,经常先写成 import * from 'SomeModule' ,再利用 IDE 提示把 * 改成真正的名字,感觉略别扭。

到底这种设计是基于什么考虑的呢,和 Java、Python、Go 那些语言一样不好吗?

4506 次点击
所在节点    问与答
28 条回复
dog
2019-04-25 09:51:34 +08:00
毕竟有个 select x,x,x from xxx 的前辈…
wxsm
2019-04-25 09:57:55 +08:00
我觉得你说的很有道理,我也很苦恼这个。
InternetExplorer
2019-04-25 09:59:35 +08:00
我们不一样~
cutpictureboyxx
2019-04-25 10:01:14 +08:00
我也感觉此处 es 设计的一个瑕疵,感觉设计得有点蠢
ryougifujino
2019-04-25 10:03:11 +08:00
为了读起来更自然点吧??确实不方便。不过我现在很多时候靠先写 something,然后靠 webstorm 自动补全 `import {something} from xxx`
CallMeReznov
2019-04-25 10:03:21 +08:00
我请你们吃饭 和 请你们吃饭我
意思区别不大吧?????

而且 import 可以直接后面跟模块 而省略起 from 你也了解他的意思是要导入这个包 模块
你如果 from 开头你写的是啥呢?
deepdark
2019-04-25 10:03:43 +08:00
感觉是跟 const xx = require('xxx')保持一致的
binaryify
2019-04-25 10:07:52 +08:00
@CallMeReznov
差别很大,from 开头编辑器才知道有什么可以导出的,不然就得先写 import {} from 'xxxModule' ,再补充里面内容否则都没有提示
python 是同时支持 import xxxModule 和 from yyy import XXX 的
Cyron
2019-04-25 10:10:26 +08:00
@CallMeReznov #6 是想要自动补全,不是语法
otakustay
2019-04-25 10:12:51 +08:00
要自动补全的搞个编辑器 snippet,主流编辑器肯定全部是有支持的
grewer
2019-04-25 10:15:35 +08:00
我用 ts 的时候 import , 99%情况下不用写 , ide 自动补全就完事了
FakeLeung
2019-04-25 10:20:27 +08:00
1. ts 直接敲函数,变量啥,就会自动导入了。
2. vscode 有 import 的插件,先填写 module,再填写导出的东西。

ZhLTE
2019-04-25 10:20:33 +08:00
英语就是这么读的吧 介词短语后置
lzvezr
2019-04-25 10:20:49 +08:00
你这么一说,确实是有点别扭,回想一下我也比较喜欢直接 import *这样写
Justin13
2019-04-25 10:27:36 +08:00
确实,这点很烦。
至于说可以自动导入的,那玩意很蠢,各种乱导入没遇到过么?
zqx
2019-04-25 10:34:13 +08:00
从来不手写 import 语句,都是实例化的时候自动填充好,vs code
zeyexe
2019-04-25 10:34:29 +08:00
@ZhLTE #13 直接 import 也行,java 那样 improt package.module 也挺好的,但就是 JS 目前这种情况就没法自动补全。
crackhopper
2019-04-25 10:35:46 +08:00
我一般都 import {} from ‘ xxx ’, 然后填写大括号里面内容。我觉得这个 snippet 展开一下,不费什么事儿。
Sapp
2019-04-25 10:35:50 +08:00
你们的编辑器,都不会自动引入的吗? 我都很久没手写过这个玩意了
vampuke
2019-04-25 10:36:20 +08:00
@Justin13 可以选从什么文件导入阿,基本没有手写过导入

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/558466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX