为啥 js 引用其他文件的函数相对来说要麻烦一些?

2022-11-04 18:57:49 +08:00
 pdog18

如果是 java 直接 ide import 一下就好了。 可 js 如果不想让一个 js 文件又臭又长想分成几个文件的话就要写一堆麻烦的东西....

7319 次点击
所在节点    Node.js
32 条回复
shintendo
2022-11-04 19:13:09 +08:00
一堆麻烦的东西是指?
thinkershare
2022-11-04 19:17:48 +08:00
不知道你在说啥??? JS 以前没有模块系统,从 ES6 以后,JS 原生支持 Module, 没看出来那里麻烦。
ragnaroks
2022-11-04 19:51:06 +08:00
用 java 类比的话,简而言之,javascript 没有 class
wdwwtzy
2022-11-04 19:58:04 +08:00
是的,js 就是这么个弱鸡语言,你敢相信一个连模块系统都没有的语言竟然能活下来?只能说山中无老虎猴子称大王了,web 前端之前各大公司都不重视,只有 js 这么一个语言,再垃圾也只能用他了。
xintianyou
2022-11-04 20:08:13 +08:00
@wdwwtzy 谁说 js 没有模块系统?
FrankHB
2022-11-04 20:12:24 +08:00
@wdwwtzy C:?
arnosolo
2022-11-04 20:14:27 +08:00
不会用 === 没有
Trim21
2022-11-04 20:16:16 +08:00
node 现在既支持 cjs 又支持 esm ,为什么你需要写“一堆麻烦的东西”?打包器吗?

@wdwwtzy js 现在的问题是模块系统太多了…
lsry
2022-11-04 20:16:20 +08:00
那只能说明 ide 不智能,找个好的 ide
nomagick
2022-11-04 20:22:47 +08:00
不是 js 没有 class 而是 js 程序员不懂面向对象
toesbieya
2022-11-04 20:27:45 +08:00
@nomagick #9 不是 js 程序员不懂面向对象,是不需要面向对象,不像 java 只能面向对象
hamsterbase
2022-11-04 21:33:22 +08:00
ts 可以写成 java 那样。 AOP , 依赖注入。



贴一段 vs code 的源码。


export class RequestService extends Disposable implements IRequestService {

constructor(
@IConfigurationService configurationService: IConfigurationService,
@INativeEnvironmentService private readonly environmentService: INativeEnvironmentService,
@ILogService private readonly logService: ILogService
) {
super();
}

}
statumer
2022-11-04 21:49:43 +08:00
@wdwwtzy #4 普信 C# 程序员
pdog18
2022-11-04 22:22:15 +08:00
@shintendo 我能搜索到的最简单的「 nodejs 引入其他文件函数」的方式,点开一看: 一堆麻烦的东西....
pdog18
2022-11-04 22:22:40 +08:00
@hamsterbase 我的天呐
DrakeXiang
2022-11-04 22:44:13 +08:00
不就是一个 export 一个 import 吗?你是不是用百度搜的五年前的 csdn ?
hamsterbase
2022-11-04 22:50:20 +08:00
@pdog18

推荐直接上手 ts , 写 java 可以无缝转移。

https://nestjs.com/. 写起来和 spring 差不多
magicdawn
2022-11-04 22:56:56 +08:00
你说错了哦,java 没有模块系统,node.js 有好几套模块系统。
java 的包只能算命名空间,都在全局。import 只是方便你不写全名而已
molvqingtai
2022-11-04 23:00:24 +08:00
JS 怎么使用 import 引入模块 ❌
JS 引入文件又臭又长,不让 Java 方便 ✔️
djyde
2022-11-04 23:00:46 +08:00
如果你用 TypeScript 和支持 ts server 的编辑器 (例如 VS Code),那么你在引用一个成员的时候会自动帮你 import

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

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

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

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

© 2021 V2EX