CNode

node中import老大难问题

问答
DDuJiming发布于7 年前最后回复7 年前28 回复7119 浏览0 收藏

这都node11,12版本了,找了一圈还是没有简单直接的用import方法,什么时候能原生支持啊

查看回复

回复 (28)

I
im-here#1·7 年前

babelorts

D
DuJiming#2·7 年前
引用 im-here`babelorts`

@im-here 公司要升级node版本到10,想弃用babel,看来还得用一段时间了

W
waitingsong#3·7 年前

TS 一了百了

2
247521776#4·7 年前

还是用ts吧,支持的全。

来自 CNode-iOS

Y
yinxin630#5·7 年前

typescript + 1

C
CaanDoll#6·7 年前

后缀改为mjs可以使用import

Z
zuohuadong#7·7 年前

ts + 1

参考项目: https://github.com/notadd

N
neigthdi#8·7 年前

ts...

L
lrz0#9·7 年前

使用 esm 做入口就可以了

C
ChenShenhai#10·7 年前

可以尝试用Loader Hooks 方式直接使用import/export 参考例子 Node 9下import/export的丝般顺滑使用

A
atian25#11·7 年前

一直没搞明白,ESM 这个特性在 Node 里面有那么的迫切的需求么?

X
xixiaoli10509#12·7 年前

Ts···

L
libook#13·7 年前

和11楼一样,觉得require就够用。而且前端用Webpack如此广泛的情况下觉得用哪种机制引入module都无所谓。

倒是盼着Worker Threads赶紧到Stability 2。

X
xixiaoli10509#14·7 年前
引用 im-here`babelorts`

胡哈哈哈哈哈哈

C
captainblue2013#15·7 年前
引用 atian25一直没搞明白,ESM 这个特性在 Node 里面有那么的迫切的需求么?

@atian25 等真实支持以后,也会Import和require并存的,因为import会很好的支持静态检查,而动态引入还是要require

G
grass0916#16·7 年前

TypeScript +1

Z
zy445566#18·7 年前
引用 atian25一直没搞明白,ESM 这个特性在 Node 里面有那么的迫切的需求么?

@atian25

一直没搞明白,ESM 这个特性在 Node 里面有那么的迫切的需求么?

大佬不理解强迫症患者,很多人只要人云亦云说import比require好,也不知道好在哪里,但用require就是不爽,就是感觉不够规范。

Z
zy445566#19·7 年前

要不就和楼上同学们说的,TS 一了百了,ts还是可以写js的。Loader Hooks方法也不错

A
atian25#20·7 年前
引用 zy445566@atian25 一直没搞明白,ESM 这个特性在 Node 里面有那么的迫切的需求么? 大佬不理解强迫症患者,很多人只要人云亦云说import比require好,也不知道好在哪里,但用req...

@zy445566 我也是一个深度的强迫症,但我更倾向于把精力放到更迫切更有必要的地方去强迫。

  • 我会强迫我自己把单元测试覆盖率搞到 100%。
  • 我会持续的去重构类库来满足自己的完美主义。
  • 我会强迫自己优化很多 CLI 和流程来提升团队整体的研发效率和质量。

但 ESM 这种吃力不讨好的风格,没必要强求,更何况它的黑历史,这规范提出的时候,根本没问过 Node 社区的人,现在要别人给它擦屁股。

改这个东西,对代码质量,团队效率的收益比太低了。不要花太多精力放在满足个人偏好上,应该更高层次的去看团队。回去翻翻自己的 TODO LIST 看看是不是已经只有这种小事来满足不必要的洁癖,从而消磨自己宝贵的时间。

H
HobaiRiku#22·7 年前

毕竟mjs和cjs还是有不同的,nodejs和js不是同样的模块系统,如果不是ts编写,没必要在nodejs上用import

C
captainblue2013#23·7 年前
引用 atian25@zy445566 我也是一个深度的强迫症,但我更倾向于把精力放到更迫切更有必要的地方去强迫。 我会强迫我自己把单元测试覆盖率搞到 100%。 我会持续的去重构类库来满足自己的完美主义。 我会...

@atian25 说得真好,不能同意更多。 但是我还是会期待一下下静态优化,虽然现在很多babel、ts之类,都只是实现了import的语法糖,并没有在node底层做到import,等到真的官方支持import,可能才有可能真的做静态优化。

D
dengnan123#24·7 年前

ts 吧

D
DuJiming#26·7 年前
引用 atian25@zy445566 我也是一个深度的强迫症,但我更倾向于把精力放到更迫切更有必要的地方去强迫。 我会强迫我自己把单元测试覆盖率搞到 100%。 我会持续的去重构类库来满足自己的完美主义。 我会...

@atian25 已经把整个工程重构成require了,没想到大佬都出面了,公司想要升级node版本,我是忍受不了babel这种本末倒置的行为,但是不用babel的话原来的项目就用不了import,后来还是花了一下午直接把工程全‘require’了,谢谢猪哥

D
DuJiming#27·7 年前
W
waitingsong#28·7 年前

浏览器:ESM 加载管理目前基本没法用,还不如 requirejs 的 AMD 方式。 如果用 Angular 框架,也就不存在这个问题。 服务端:首选 TypeScript , 我已经不习惯写 js 了。

参与回复
登录后即可参与回复。登录