Soft_Job 板


LINE

从入行到现在知道有这个框架, 看过一些介绍, 但是没真正用过, 就知道他是写js的环境, 那问题来了,平常写网页, 打上<script>不是就可以写了, 为何需要用node.js? 或是直接副档名js, 引入html在浏览器上跑不就好了? 突然好像有点想通了, node.js是不是直接把js当後端来用, 就是像php这样, 我之前是一直卡在js是前端语言的观念, 一开始我就是前js後php, 所以一直觉得很奇怪, 我这样理解对吗? ----- Sent from JPTT on my Sony H4331. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.140.203.218
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1536659211.A.C90.html ※ 编辑: sec5566 (223.140.203.218), 09/11/2018 17:47:14
1F:推 deray: 一百分!超过一百分!09/11 17:51
2F:→ stevekevin10: 你入行了?09/11 17:51
3F:推 highland: 先帮补血09/11 17:52
我知道超基本的一定被嘘, 但是我真的不知道和想知道捏, 一直都写php跟html从来没用过这个 ※ 编辑: sec5566 (223.140.203.218), 09/11/2018 17:54:35
4F:推 Severus5566: 楼楼上超酸09/11 17:53
5F:推 deray: Q. 要如何在没有浏览器的环境执行javascript?09/11 17:56
node.js? 可是开发web怎麽会没浏览器? ※ 编辑: sec5566 (223.140.203.218), 09/11/2018 17:58:32
6F:推 alog: 你大概要先把人家语言发展的历史摸清楚再来问会比较合适 09/11 18:00
7F:→ alog: 然後以现在的情况来说 就算你不用 nodejs 你用的软体底层一 09/11 18:00
8F:→ alog: 部分的实做就是要nodejs或自带相关引擎 09/11 18:00
9F:推 ij1001: Nodejs 是运作在伺服器端,是处理收发请求的,跟客户端拿 09/11 18:00
10F:→ ij1001: 来浏览,两者运作所使用的情境是不同的。即便是用同样的语 09/11 18:00
11F:→ ij1001: 言,但聊的事情讲的内容是不一样~ 09/11 18:00
12F:→ alog: 你要用的开发工具可能有一部分要从nodejs的npm去装 09/11 18:01
13F:→ alongalone: 战起来 站起来 09/11 18:03
14F:推 lk2986706we: 你的浏览器会直接连资料库吗 09/11 18:12
15F:嘘 alihue: 这种问题在 stackoverflow 应该是 -1000 等级 09/11 18:31
16F:推 peanut97: nodejs 是後端语言,跟PHP 一样层级 09/11 18:31
17F:推 windclara: 原来您的浏览器自带所有功能 都不用GET跟POST了呢 09/11 18:48
18F:→ kroutony: 在你开始写程式之前,建议先了解前端跟後端的分别 09/11 18:54
19F:→ kroutony: 以及他们是如何交流的 09/11 18:55
20F:推 fukinhot: 其实严格来说nodejs 就是包了一个浏览器 让我们能够像 09/11 19:49
21F:→ fukinhot: 是在执行console app一样执行js 09/11 19:49
22F:→ fukinhot: 楼上各位都太凶了 我反而觉得不懂但不好意思问的人比较 09/11 19:51
23F:→ fukinhot: 惨 09/11 19:51
24F:→ fukinhot: 而且感觉楼上有人直接把nodejs == express / koa了? 09/11 19:53
25F:推 abc01251: 大家不要这样..当初各位入行一定也问过蠢问题,也被前 09/11 20:01
26F:→ abc01251: 辈酸!不过大家当年一定不希望被这样对待,现在也不要 09/11 20:01
27F:→ abc01251: 扼杀幼苗吧! 09/11 20:01
28F:嘘 alihue: 知道会被嘘还不自己先玩过再来问 09/11 20:06
29F:推 mdkn35: Id後面有5566应该是老人 怎可能还会问这种问题...... 09/11 20:12
30F:→ longlongint: 用 nodejs 就可以不用学 php (误 09/11 20:13
31F:→ longlongint: nodejs > python > php > cgi (误 09/11 20:13
32F:→ longlongint: 战起来 战起来 09/11 20:13
33F:→ vi000246: 下一篇 为什麽python不能在浏览器执行 09/11 20:24
34F:推 FrozenMoment: go go go! 09/11 20:38
35F:嘘 yuigahamayui: 可怜,这种也称自己入行 09/11 20:49
36F:→ x000032001: golang > 其他 09/11 20:52
37F:推 DirtyVegas: 有勇气给推 09/11 20:59
38F:推 diabloevagto: Node 包了浏览器???差太多了啊...... 09/11 21:05
39F:推 godddddd: 因为作者把v8拿来用 包成node.exe 09/11 21:08
40F:→ godddddd: 接着node js档案就能自动直译js语言 产生想要的东西 09/11 21:09
41F:→ godddddd: Express koa是专门写後端常见的npn module 09/11 21:10
42F:→ godddddd: 然後有一堆的middle ware 可以处理类似java 拦截器过滤 09/11 21:10
43F:→ godddddd: 器功能 09/11 21:10
44F:→ godddddd: 大概是这样 很久没碰 可能有错 09/11 21:11
45F:推 evilcherry: 人家很明显就没碰过backend... 09/11 21:17
46F:推 littlethe: 大家别酸他吗,人都有刚开始什麽都不懂的时候ㄚ,应该 09/11 21:19
47F:→ littlethe: 要多鼓励新人 09/11 21:19
48F:推 jackace: 其实推文里也一堆人观念有问题 不晓得是不是反串 09/11 21:28
49F:→ nekosgr93: 所以nodejs到底是语言?框架?complier?越讲越乱了 09/11 21:49
50F:推 evilcherry: Runtime 09/11 21:56
51F:→ alog: Nodejs就是一整套的程式执行环境,带着google v8引擎跟自己 09/11 21:58
52F:→ alog: 兜的模组来执行所有程式设计师写好的js脚本,可以用你最熟悉 09/11 21:58
53F:→ alog: 的js语言来写有关伺服器/服务应用、CLI工具等各种玩意,在ja 09/11 21:58
54F:→ alog: vascript有很重要的地位 09/11 21:58
55F:→ alog: 早期开发者都因为他的架构特性可以达到较高并发跟执行效率吸 09/11 22:00
56F:→ alog: 引,拿来写web有一部分都是为了应付大流量时操作运送、同时 09/11 22:00
57F:→ alog: 在线的需求 09/11 22:00
58F:推 alog: V8的regular express引擎写的也很好写parser速度有时候还比g 09/11 22:02
59F:→ alog: olang的还快 09/11 22:02
60F:→ alog: 但老实说 你说一定要用nodejs写web 用啊 完全看你的需求跟工 09/11 22:05
61F:→ alog: 时、现有熟悉的资源 用别的语言跟工具环境都一样有解 09/11 22:05
62F:→ alog: 不用* 09/11 22:06
63F:→ alog: 只是以现今来说 你就算不用nodejs 做後端的资料处理,但你 09/11 22:10
64F:→ alog: 还是可以享有nodejs社群开发的出来的成果,很多工具你都可以 09/11 22:10
65F:→ alog: 用nodejs里的npm装一装拿起来用 就例如你要写个vuejs还是要 09/11 22:10
66F:→ alog: 透过npm装 包括其他语言的框架里要执行某些东西处理也是会ca 09/11 22:10
67F:→ alog: ll nodejs来做 而不是用该语言再重造轮子 09/11 22:10
68F:→ alog: nodejs 可以写的东西很多 开发者累计起来的资源也不少 可以 09/11 22:16
69F:→ alog: 不用当只是拿来写web工具去看待他 09/11 22:16
70F:推 senjor: 当成C#或者python之类的去看待他就好了 09/11 22:20
71F:推 FF16: 在写网页上,nodejs的角色比较像是编译器,他其实是把一堆 09/11 22:20
72F:→ FF16: javascript编译成javascript 09/11 22:21
73F:推 menshuei: 等等你真的把js写在script标签里? 09/11 22:25
74F:推 ku399999: 一句话:node可以做浏览器做不到的事 09/11 22:47
75F:→ u1240976: nodejs 不是包浏览器啦XD, HTML/CSS/DOM 都要哭了QQ 09/11 22:53
76F:→ u1240976: nodejs/browser js的差异,大概就像desktop/android java 09/11 22:57
77F:嘘 Souseasou3: 哪间?这样还入行 09/11 22:58
78F:推 a2551127: 帮幼苗补血 09/11 23:07
79F:→ sharku: 赞喔 09/11 23:09
80F:推 XXXXLAY: 老人不能学nodejs哦?QQ 09/12 00:16
81F:→ vencil: 这种东西不是google就知道了? 这样敢说入行... 09/12 00:42
82F:推 TitanEric: 这样算入行 厉害了 09/12 00:48
83F:推 crazwade: 真的建议你去google... 虽然我也不太懂 但有写过一些 09/12 01:15
84F:→ cha122977: 没网页时你怎麽用js写程式?nodejs就提供这个功能啦 09/12 01:35
85F:→ dnabossking: alog说的大至上都正确 09/12 02:04
86F:→ dnabossking: 看alog说的就好 09/12 02:05
87F:→ nekosgr93: nodejs也可以拿来写桌面应用吧 像现在很红的vscode和 09/12 02:56
88F:→ nekosgr93: 之前的atom 09/12 02:56
89F:→ stormcorn: 怎麽都不先查基本资讯的 09/12 04:28
90F:推 UniFish: 原po的问题需要的答案明明很简单,为何推文各种绕弯XDDD 09/12 08:20
91F:推 async: 不了解可以学一下看看,我也是学了一下就解惑了 09/12 09:19
92F:推 FF16: UniFish 原po问的问题其实很难回答,因为你可以从他问的问题 09/12 09:49
93F:→ FF16: 看出他缺乏某些基本观念,所以如果想回答他,那得先讲解基本 09/12 09:49
94F:→ FF16: 观念。 09/12 09:49
95F:→ flowwinds: 先看看nodejs的wiki.. 09/12 10:33
96F:推 singergod: google 一下马上知道的东西,这样自称入行? 09/12 10:37
97F:推 YukiTW: 他还有无网页的应用,我最近就做一个侧录网路封包的功能 09/12 11:37
98F:→ YukiTW: 就用到 node.js 09/12 11:37
99F:→ youuuuuli: 笑。厉害 09/12 12:39
100F:推 Masakiad: 不知道在冷嘲热讽什麽,原po也没说自己多senior,也自 09/12 13:20
101F:→ Masakiad: 知问题很蠢,但有问想知道答案应该鼓励而不是这样笑他吧 09/12 13:20
102F:嘘 alihue: 问问题前先「尝试、找资料」是软工基本素养。要问也是自己 09/12 13:54
103F:→ alihue: 玩过,再问卡住不解的地方。这种大哉问就是欠嘘,被嘘也是 09/12 13:54
104F:→ alihue: 写程式的必经之路 09/12 13:54
105F:嘘 vi000246: 是啊 这问题在stack overflow大概会被嘘爆09/12 14:19
106F:推 devil115789: Node.js是一个能够在伺服器端运行JavaScript的开放09/12 14:28
107F:→ devil115789: 原始码、跨平台JavaScript 执行环境。09/12 14:28
108F:→ devil115789: 他不是一个档案名称叫node副档名为js的档案09/12 14:28
109F:→ devil115789: 执行环境,不是开发环境09/12 14:29
110F:→ Jasonnor: https://i.imgur.com/85K4bMk.png09/12 16:30
111F:→ benson1212: 推荐你一个东西叫维基百科 很棒快学起来 科科09/12 17:32
其实维基的我看了无数次, 包括也上it邦找过, 最後只知道他可以写js或是介绍怎麽写语法, 可是没有人讲为何不直接写在网页上就好
112F:推 brianhsu: 先搞懂你的程式码是在哪台机器上执行的(client side / s09/12 17:39
113F:→ brianhsu: erver side) 应该就不会有这个问题了。09/12 17:39
※ 编辑: sec5566 (223.140.203.218), 09/12/2018 17:51:52 ※ 编辑: sec5566 (223.140.203.218), 09/12/2018 18:14:53
114F:嘘 deray: 这不嘘一下不行 「没有人讲为什麽不写在网页就好」09/12 19:13
115F:→ wanderchang: 又一个被browserify惯坏的09/12 19:31
116F:→ kurtsgm: 我觉得你好像搞不太清楚前後端的差异捏...09/12 19:33
前端就类似餐厅里的点菜柜台, 是使用者看到的, 後端就是内场的厨师这样, 是功能面的
117F:→ johsin605: 不忍嘘09/12 19:58
118F:推 lion0208: nodejs 不是跑在浏览器的,只是语言是 javascript,现09/12 20:27
119F:→ lion0208: 在 javascript 可以跑在非常多地方,不是只在浏览器了09/12 20:27
120F:推 art1: 可能不是本科毕业的,对於电脑的基础知识不了解09/12 21:39
我不是资讯系的
121F:嘘 longlyeagle: .09/12 22:16
122F:推 BignoZe: 敢上来问赢过很多人了 加油09/12 22:21
123F:→ nekosgr93: 其实刚入门去查定义真的有看没有懂 像那个api去看维基09/12 23:22
124F:→ nekosgr93: 根本不知道在工三小 如果没有读文件的能力就更惨了09/12 23:22
125F:→ alog: 如果你只是想问「为何不直接写在网页就好」09/12 23:36
126F:→ alog: 那麽我可以直接回答你,大多半的主因,是现在你接触到的专案09/12 23:36
127F:→ alog: 不需要这个东西,又或者是你已经在用了,但是软体工具已经包09/12 23:36
128F:→ alog: 得很好,你没有感觉。09/12 23:36
129F:→ alog: 以一般写网页入门或是维护旧系统来说,假设後端语言是 php,09/12 23:37
130F:→ alog: 那麽搭配的前端一定是传统 js 最多搭上 jquery 足以使用。09/12 23:37
131F:→ alog: 通常程式写是能上多少 script tag 就上多少 tag09/12 23:37
132F:→ alog: 反正需要引入什麽就用什麽,没问题啊,妥妥的。09/12 23:37
133F:→ alog: 但是如果你今天的需求是一个复杂的前端,动不动就有上百个09/12 23:37
134F:→ alog: javascript 档案合在一起09/12 23:37
135F:→ alog: 请问您是要重整理你的 javascript 程式码的架构,还是继09/12 23:37
136F:→ alog: 续维护这些复杂的东西呢? 09/12 23:38
137F:→ alog: 当然我们可以选择,继续使用一般的使用方式继续写下去,然 09/12 23:38
138F:→ alog: 後就是反正问题出现在说 09/12 23:38
139F:→ alog: 但如果每一次需求会不同,或是未来还要加东西处理,例如要 09/12 23:38
140F:→ alog: 对你的 source code 做 minimize 或 obfuscate、 09/12 23:38
141F:→ alog: 使用别人的使用者介面的框架来方便开发 (vuejs/reactjs)、 09/12 23:38
142F:→ alog: 导入单元测试、或是用其他的语法 ( 如: coffeescript、 09/12 23:38
143F:→ alog: 更新的 ecma script 版本 ) 来写 javascript 等各种需要 09/12 23:39
144F:→ alog: 是必须要有一个工具、转换器来处理资料这些资料 09/12 23:39
145F:→ alog: 像是做前端打包可能会用到 webpack 因为有些专案的复杂程度 09/12 23:39
146F:→ alog: 超出你的想像,或是有别的考量,都需要一个好的工具、环境 09/12 23:39
147F:→ alog: 或许你还是有一个疑问,就是我真的也不需要这麽复杂啊 09/12 23:40
148F:→ alog: js 我还是可以照传统的方式写 09/12 23:40
149F:→ alog: 那麽就讲一个比较容易懂的,今天有一个玩意叫做 scss 09/12 23:40
150F:→ alog: 它可以方便你开发跟撰写 css 内容,再搭配其他的东西来 09/12 23:40
151F:→ alog: 整合、压缩、或是其他处理 ( like autoprefixer ) 09/12 23:41
152F:→ alog: 以前有一个东西叫 compass app 09/12 23:41
153F:→ alog: 也有一个东西叫做 middleman 他们都可做到 09/12 23:41
154F:→ alog: 但是如果我在纯 javascript 环境, 09/12 23:41
155F:→ alog: 有没有现成的工具让我编译处理,有,而且很多 就现在很多 09/12 23:41
156F:→ alog: 多到你不知道用哪一个的状况 09/12 23:41
157F:→ alog: 在这些新颖技术的发展中,nodejs 提供了很多开发者的未来跟 09/12 23:41
158F:→ alog: 可能,这套环境让别人、你、我们可用最熟悉的工具来做,很多09/12 23:42
159F:→ alog: javascript 知名的 library 可能都是 nodejs 的环境09/12 23:42
160F:→ alog: 来开发的程式,以便好安排架构、做编译,细心的团队还会加上09/12 23:42
161F:→ alog: 测试确保在长期维护下品质稳定09/12 23:42
162F:→ alog: 你说这麽好用的工具跟环境架构,怎麽不会有人利用跟开发耕耘09/12 23:43
163F:→ alog: 他本质就不是用来写在网页上的,已经说了这是程式的执行环境09/12 23:43
164F:→ alog: 做 web 後端只是当初开发历史发展下的一个产物,09/12 23:43
165F:→ alog: 现今的这个 nodejs 早就在很多开发上无所不在,09/12 23:43
166F:→ alog: 包括现在用的 vscode、atom 是 github 的 electron 专案09/12 23:43
167F:→ alog: ( chromium + nodejs ) 延伸出来的,09/12 23:44
168F:→ nekosgr93: 推 搞不懂在干嘛可能是现在没需求 等用到了就自然懂了09/12 23:47
169F:→ alog: 原PO安捏你刚灾,其实我也很难解释这东西的用途,我尽量了。09/12 23:47
反覆看了统整意思是, js不一定只能用在网站上, 而且node.js提供一个很好的环境去跑js这样吧?
170F:推 v9290026: 推alog好心大大09/13 00:06
171F:推 a8084123: 推alog大解说09/13 02:45
※ 编辑: sec5566 (223.140.203.218), 09/13/2018 09:16:36
172F:推 ken90242: 还好啦 厘清疑惑也不赖09/13 09:26
173F:→ EightXD: 这个是我刚入行并碰Web相关第一个月搞不清楚的问题09/13 12:27
174F:嘘 for5566: 是谁你不是不懂後端,连网页前端都没搞懂,别碰nodeJS了09/13 13:42
175F:→ for5566: ,先把浏览器架构这前端基础搞懂再说吧09/13 13:42
那你要不要说哪里有错, 我又查看一遍前後端的资料, 不觉得我理解的哪里有错 ※ 编辑: sec5566 (223.140.203.218), 09/13/2018 13:59:02
176F:嘘 lturtsamuel: search the fucking giogle 09/13 18:46
177F:→ lachtchlee: 简单补一句 在Node.js里 没有DOM给你玩 没html 没css 09/13 20:32
178F:推 evilcherry: 总觉得以前端三宝和PHP接触编程的很难明白一些概念 09/14 13:06
179F:推 kurtsgm: 你第二段那样就没错了 nodejs要当作跟php类似的东西 09/14 20:30
180F:→ kurtsgm: 你以前是前js後php 现在就是前js 後js 但两个依旧分开跑 09/14 20:30
181F:推 typepeter: 浏览器可以开server给别人连吗? 09/16 09:33
182F:→ typepeter: 可以是可以 比nodejs吃资源 09/16 09:33
183F:→ typepeter: 浏览器可以读档案吗? 09/16 09:33
184F:→ typepeter: 如果不是使用者主动操作是完全不能用程式操作的喔 09/16 09:33
185F:→ typepeter: 基本上想用浏览器作後端几乎什麽都很难作 09/16 09:33
186F:→ typepeter: 又吃资源 再者和底层几乎无法整合 09/16 09:33
187F:→ typepeter: 你可以试试用浏览器写一个後端 09/16 09:33
188F:→ typepeter: 写到最後你会想要打烂电脑 09/16 09:33
189F:推 potatososo: 推 09/17 21:48
190F:推 lineage0916: A大真的好心,有时候对人要仁慈一点,也许你自己当 09/20 23:04
191F:→ lineage0916: 初新手时也被人这样酸过,而且你的感受一定也不可能 09/20 23:04
192F:→ lineage0916: 会爽,但用这种方式对待别人,你的心态也或成跟当初 09/20 23:04
193F:→ lineage0916: 酸你的人一样罗? 09/20 23:04
194F:推 s106667: 现在js一条龙 大前端时代 03/26 20:46
195F:推 s106667: js可以做太多事情了 03/28 00:55







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl 或 站内搜寻

TOP