JavaScript 为什么是 import ... from ...
,而不是 from ... import ...
呢?
如果是 from ... import ...
语法,到 import 部分的时候 IDE 就可以提示允许 import 的 module 了,基本只需要输入几个字母或者选择一下就可以了,而 import ... from ...
需要自己先知道想 import 的 module 的全名,每次写起来都要先去看一下定义。我为了利用 IDE 的提示功能,经常先写成 import * from 'SomeModule'
,再利用 IDE 提示把 * 改成真正的名字,感觉略别扭。
到底这种设计是基于什么考虑的呢,和 Java、Python、Go 那些语言一样不好吗?
1
dog 2019-04-25 09:51:34 +08:00 via iPhone 8
毕竟有个 select x,x,x from xxx 的前辈…
|
2
wxsm 2019-04-25 09:57:55 +08:00 via iPhone
我觉得你说的很有道理,我也很苦恼这个。
|
3
InternetExplorer 2019-04-25 09:59:35 +08:00
我们不一样~
|
4
cutpictureboyxx 2019-04-25 10:01:14 +08:00
我也感觉此处 es 设计的一个瑕疵,感觉设计得有点蠢
|
5
ryougifujino 2019-04-25 10:03:11 +08:00
为了读起来更自然点吧??确实不方便。不过我现在很多时候靠先写 something,然后靠 webstorm 自动补全 `import {something} from xxx`
|
6
CallMeReznov 2019-04-25 10:03:21 +08:00
我请你们吃饭 和 请你们吃饭我
意思区别不大吧????? 而且 import 可以直接后面跟模块 而省略起 from 你也了解他的意思是要导入这个包 模块 你如果 from 开头你写的是啥呢? |
7
deepdark 2019-04-25 10:03:43 +08:00 via Android
感觉是跟 const xx = require('xxx')保持一致的
|
8
binaryify 2019-04-25 10:07:52 +08:00 1
@CallMeReznov
差别很大,from 开头编辑器才知道有什么可以导出的,不然就得先写 import {} from 'xxxModule' ,再补充里面内容否则都没有提示 python 是同时支持 import xxxModule 和 from yyy import XXX 的 |
9
Cyron 2019-04-25 10:10:26 +08:00 1
@CallMeReznov #6 是想要自动补全,不是语法
|
10
otakustay 2019-04-25 10:12:51 +08:00
要自动补全的搞个编辑器 snippet,主流编辑器肯定全部是有支持的
|
11
grewer 2019-04-25 10:15:35 +08:00
我用 ts 的时候 import , 99%情况下不用写 , ide 自动补全就完事了
|
12
FakeLeung 2019-04-25 10:20:27 +08:00
|
13
ZhLTE 2019-04-25 10:20:33 +08:00
英语就是这么读的吧 介词短语后置
|
14
lzvezr 2019-04-25 10:20:49 +08:00 via iPhone
你这么一说,确实是有点别扭,回想一下我也比较喜欢直接 import *这样写
|
15
Justin13 2019-04-25 10:27:36 +08:00 via Android
确实,这点很烦。
至于说可以自动导入的,那玩意很蠢,各种乱导入没遇到过么? |
16
zqx 2019-04-25 10:34:13 +08:00 via Android
从来不手写 import 语句,都是实例化的时候自动填充好,vs code
|
17
zeyexe OP @ZhLTE #13 直接 import 也行,java 那样 improt package.module 也挺好的,但就是 JS 目前这种情况就没法自动补全。
|
18
crackhopper 2019-04-25 10:35:46 +08:00
我一般都 import {} from ‘ xxx ’, 然后填写大括号里面内容。我觉得这个 snippet 展开一下,不费什么事儿。
|
19
Sapp 2019-04-25 10:35:50 +08:00
你们的编辑器,都不会自动引入的吗? 我都很久没手写过这个玩意了
|
22
Lothar 2019-04-25 10:48:43 +08:00
18 楼 + 1
|
23
mooncakejs 2019-04-25 11:12:41 +08:00
import {} from 'xxx'
再去补全 xxx |
24
cozof 2019-04-25 12:33:41 +08:00 via iPhone
LINQ 为了解决这个问题就采用了 from 开头
|
25
sharkrice 2019-04-25 15:31:37 +08:00
呵呵,我刚刚才在脑内吐槽,上来就又看到一个
|
26
binux 2019-04-25 15:41:38 +08:00 via Android
自动引入早关了,tab 经常瞎匹配,手快就引入了,还得跳转删除
|
27
wly19960911 2019-04-25 15:51:52 +08:00
@binux #25 ctrl + z 不就好了,然后重新导入下。
|
28
Sparetire 2019-04-25 20:18:05 +08:00 via Android
snippets 就完了,读起来自然一点,当然 from import 也没啥问题,取舍而已
|