Minimalist Forum Reader
Bạn nào có thể thông não nhanh giúp mình cái sự liên quan giữa npm, nodejs và reactjs/vuejs ko?

Ví dụ mình đọc doc của reactjs, để app chạy thì phải có nodejs, muốn có nodejs thì phải có npm rồi ba cái depedencies trong node_modules directory quá trời.

TIA.
Reactions: iahgnoh
Reactjs với vuejs đều là thư viện xây bằng javascript chuyên xử lý frontend theo kiểu tối ưu hoá catche. Nodejs là gì npm là gì thì google cho rõ
kI4a9lH.jpg
Tìm hiểu ở đây nhé
Reactions: omito, iahgnoh and Compton
Đầu tiên thì phải nói đến điểm chung là Javascript, là ngôn ngữ được dùng để viết:
- Web server NodeJS
- Frontend framework ReactJS/ VueJS
Ngôn ngữ không thì chưa đủ, cả nodejs và các frontend frameworks đều cần có thư viện chia sẻ các gói được viết sẵn, vì cùng là JS nên tụi nó có thể dùng chung thư viện npm - node package manager, cái tên nói lên tất cả rồi. Cần phân biệt là npmjs.com là cái host để lưu trữ các gói viết sẵn cho JS, còn npm cli là ứng dụng dòng lệnh để cài, xoá, update các gói ở phía client.
lớp 1: đọc viết chữ cái chữ số, đánh vần
lớp 2: tập làm văn, chính tả, + - * /
lớp 3: làm văn và chính tả nâng cao hơn, toán phức tạp hơn tí
lớp 4: học thêm về tự nhiên và xã hội, tiếng việt và toán nâng cao thêm
.....
lớp 12: tích phân, văn luận....

cái gì cũng có quá trình, đốt cháy giai đoạn rồi lên đây hỏi, giải thích kiểu gì :surrender:
Reactions: Compton and hinora
lớp 1: đọc viết chữ cái chữ số, đánh vần
lớp 2: tập làm văn, chính tả, + - * /
lớp 3: làm văn và chính tả nâng cao hơn, toán phức tạp hơn tí
lớp 4: học thêm về tự nhiên và xã hội, tiếng việt và toán nâng cao thêm
.....
lớp 12: tích phân, văn luận....

cái gì cũng có quá trình, đốt cháy giai đoạn rồi lên đây hỏi, giải thích kiểu gì :surrender:
Đối với mình, trên đời này ko có ai là cái gì cũng biết, và ko có chuyện cái này đc hỏi và cái kia ko đc hỏi. Mình ko phải web dev, ít nhất tới giờ phút này, mình cần set up 1 cái react app cho chạy để test chuyện của mình, mình ko biết thì mình hỏi có gì sai?

Những người như bạn ko giải thích đc là do bạn ko có đủ hiểu biết (và có thể cả chín chắn) để mà giải thích. Ko có nghĩa là sẽ ko có người khác sẵn sàng chia sẻ, giúp đỡ mình nhé. Cụ thể trong thread này đã có khối người hơn bạn rồi đó. Ít nhất từ tối qua tới giờ, đọc comment của họ, tuy ko cho mình lời giải cụ thể nhưng đã đưa mình nghiên cứu thêm nhiều tài liệu.
Reactions: tonghoangvu
Đối với mình, trên đời này ko có ai là cái gì cũng biết, và ko có chuyện cái này đc hỏi và cái kia ko đc hỏi. Mình ko phải web dev, ít nhất tới giờ phút này, mình cần set up 1 cái react app cho chạy để test chuyện của mình, mình ko biết thì mình hỏi có gì sai?

Những người như bạn ko giải thích đc là do bạn ko có đủ hiểu biết để mà giải thích. Ko có nghĩa là sẽ ko có người khác sẵn sàng chia sẻ, giúp đỡ mình nhé. Và trong thread này đã có nhiều người hơn bạn rồi đó.
lời khuyên của tôi là nếu không quen thì đừng dùng react, setup cái app cho đúng ý có khi mất cả tuần (dù là dùng create-react-app).

giờ lightweight tiện dụng thì tôi thấy là thằng svelte/sapper là tiện nhất, tôi thường làm mấy cái app nhỏ dạng util toàn chỉ mất vài giờ là xong.

có thể tham khảo cái repo https://github.com/sveltejs/sapper-template để xem template có sẵn (down về chỉ việc làm theo hướng dẫn trong readme là chạy).
lời khuyên của tôi là nếu không quen thì đừng dùng react, setup cái app cho đúng ý có khi mất cả tuần (dù là dùng create-react-app).

giờ lightweight tiện dụng thì tôi thấy là thằng svelte/sapper là tiện nhất, tôi thường làm mấy cái app nhỏ dạng util toàn chỉ mất vài giờ là xong.

có thể tham khảo cái repo https://github.com/sveltejs/sapper-template để xem template có sẵn (down về chỉ việc làm theo hướng dẫn trong readme là chạy).
Nếu đc chọn đời này mình ước ko bao giờ xài tới Javascript hoặc viết code :D. Khốn nỗi ko tránh đc. Đại khái mình muốn theo dõi simulation của Houdini mà ko phải mở nó lên (vì cost license và ko phải ai cũng biết xài Houdini). SideFX nó bảo có option là stream data đó ra web browser và share 1 cái app react nó demo. Nên mới phải tìm cách set up cho nó chạy. Có muốn tránh ReactJS mình cũng phải chạy đc để xem nó làm gì để biết đường nếu phải implement bằng cách khác.

Anyway mình đã cho nó chạy đc rồi nhưng mà ko hiểu đc cái sự liên quan nên mới thắc mắc thôi.
Comment phía trên của tôi có giúp được thím tí nào không, không thì để tôi xoá =((
Reactions: Compton
Comment phía trên của tôi có giúp được thím tí nào không, không thì để tôi xoá =((
Comment nào có thiện chí chia sẻ giúp đỡ lẫn nhau đều có giá trị hết bạn ơi. Thanks bạn
Bạn nào có thể thông não nhanh giúp mình cái sự liên quan giữa npm, nodejs và reactjs/vuejs ko?

Ví dụ mình đọc doc của reactjs, để app chạy thì phải có nodejs, muốn có nodejs thì phải có npm rồi ba cái depedencies trong node_modules directory quá trời.

TIA.
Trả lời cho thím:
- Npm là Node packages manger: dùng để quản lý các dependencies trong project. Kiểu như apps store của điện thoại. Có thể lên store này để tìm kiếm và cài đặt các thư viện cần cho project. Npm thì ở link này: https://www.npmjs.com/
Trước đây khi front-end còn chưa phát triển, để cài đặt jquery vào web thì chỉ có cách lên web jquery tải các file javascript về nhúng vào trực tiếp html. Còn giờ thì chỉ cần gõ lệnh `npm i jquery` là nó tự động tải về project các file cần thiết, lúc cần thì import vào. Cơ bản là như vậy. Bên cạnh đó còn có yarn, tương tự như npm nhưng tốt hơn chút.
- nodejs thì rộng, giới hạn trong câu hỏi của bạn thôi thì nodejs cần được cài đặt thì mới có thể chạy được npm. Như việc bạn cần cài android lên điện thoại thì điện thoại mới chạy được các app của android như gmail, chrome, game gủng các kiểu.
- Reactjs hay các loại tương tự thì cũng chỉ là 1 thư viện JS dùng để manipulate HTML (create, update, delete các element trên website). Reactjs sẽ tải được thông qua npm. Còn không muốn tải qua npm thì bạn lên github, hay web của nó tải file js có sẵn về vẫn chạy bình thường. Dĩ nhiên để có 1 website sử dụng reactjs ở front-end thì còn phải setup nhiều thư viện javascript khác nữa (router, redux...).
Cài đống này xong thì bạn còn phải setup thêm webpack để biên dịch jsx sang js thì browser mới chạy được. Trước đây việc setup khá là mệt, nhưng giờ thì có toolkit rồi. Chỉ cần gõ 1 dòng là tự động tạo 1 app react có sẵn router, redux: https://redux-toolkit.js.org/introduction/quick-start

Sơ lược là như vậy. npm là appstore, nodejs là android, reactjs là 1 app trên appstore, cữ vậy cho dễ hiểu.
Reactions: Compton, talaai1312_ver2 and callmeooo
Trả lời cho thím:
- Npm là Node packages manger: dùng để quản lý các dependencies trong project. Kiểu như apps store của điện thoại. Có thể lên store này để tìm kiếm và cài đặt các thư viện cần cho project. Npm thì ở link này: https://www.npmjs.com/
Trước đây khi front-end còn chưa phát triển, để cài đặt jquery vào web thì chỉ có cách lên web jquery tải các file javascript về nhúng vào trực tiếp html. Còn giờ thì chỉ cần gõ lệnh `npm i jquery` là nó tự động tải về project các file cần thiết, lúc cần thì import vào. Cơ bản là như vậy. Bên cạnh đó còn có yarn, tương tự như npm nhưng tốt hơn chút.
- nodejs thì rộng, giới hạn trong câu hỏi của bạn thôi thì nodejs cần được cài đặt thì mới có thể chạy được npm. Như việc bạn cần cài android lên điện thoại thì điện thoại mới chạy được các app của android như gmail, chrome, game gủng các kiểu.
- Reactjs hay các loại tương tự thì cũng chỉ là 1 thư viện JS dùng để manipulate HTML (create, update, delete các element trên website). Reactjs sẽ tải được thông qua npm. Còn không muốn tải qua npm thì bạn lên github, hay web của nó tải file js có sẵn về vẫn chạy bình thường. Dĩ nhiên để có 1 website sử dụng reactjs ở front-end thì còn phải setup nhiều thư viện javascript khác nữa (router, redux...).
Cài đống này xong thì bạn còn phải setup thêm webpack để biên dịch jsx sang js thì browser mới chạy được. Trước đây việc setup khá là mệt, nhưng giờ thì có toolkit rồi. Chỉ cần gõ 1 dòng là tự động tạo 1 app react có sẵn router, redux: https://redux-toolkit.js.org/introduction/quick-start

Sơ lược là như vậy. npm là appstore, nodejs là android, reactjs là 1 app trên appstore, cữ vậy cho dễ hiểu.
Đấy thớt xem thím này tư vấn nè chuẩn nhé
Reactions: Compton and ScaTteRedLife
Trả lời cho thím:
- Npm là Node packages manger: dùng để quản lý các dependencies trong project. Kiểu như apps store của điện thoại. Có thể lên store này để tìm kiếm và cài đặt các thư viện cần cho project. Npm thì ở link này: https://www.npmjs.com/
Trước đây khi front-end còn chưa phát triển, để cài đặt jquery vào web thì chỉ có cách lên web jquery tải các file javascript về nhúng vào trực tiếp html. Còn giờ thì chỉ cần gõ lệnh `npm i jquery` là nó tự động tải về project các file cần thiết, lúc cần thì import vào. Cơ bản là như vậy. Bên cạnh đó còn có yarn, tương tự như npm nhưng tốt hơn chút.
- nodejs thì rộng, giới hạn trong câu hỏi của bạn thôi thì nodejs cần được cài đặt thì mới có thể chạy được npm. Như việc bạn cần cài android lên điện thoại thì điện thoại mới chạy được các app của android như gmail, chrome, game gủng các kiểu.
- Reactjs hay các loại tương tự thì cũng chỉ là 1 thư viện JS dùng để manipulate HTML (create, update, delete các element trên website). Reactjs sẽ tải được thông qua npm. Còn không muốn tải qua npm thì bạn lên github, hay web của nó tải file js có sẵn về vẫn chạy bình thường. Dĩ nhiên để có 1 website sử dụng reactjs ở front-end thì còn phải setup nhiều thư viện javascript khác nữa (router, redux...).
Cài đống này xong thì bạn còn phải setup thêm webpack để biên dịch jsx sang js thì browser mới chạy được. Trước đây việc setup khá là mệt, nhưng giờ thì có toolkit rồi. Chỉ cần gõ 1 dòng là tự động tạo 1 app react có sẵn router, redux: https://redux-toolkit.js.org/introduction/quick-start

Sơ lược là như vậy. npm là appstore, nodejs là android, reactjs là 1 app trên appstore, cữ vậy cho dễ hiểu.
Cám ơn bạn, bạn lấy ví dụ rất dễ hiểu.

Mấy cái pak trong node_modules theo mình hiểu là depedencies cho reacts đúng ko? Mình mở cái file packages.lock ra thấy 10 mấy ngàn line dependencies nên thấy rất sợ hãi mới lên voz hỏi.
1. Javascript là ngôn ngữ được tạo ra để chạy trong web browser. Do đó để app của bạn chạy được thì không cần nodejs. Bạn host cái app của bạn lên server nào cũng được.
2. Tuy nhiên, quá trình build ra app thì lại cần chạy các thư viện Javascript, và NodeJs hỗ trợ điều đó: Chạy code Javascript ngoài web browser.
3. Khi cài NodeJS thì cũng kèm luôn npm, là công cụ quản lý dependencies, NodeJS và npm là dành cho Javascript nói chung, không phải chỉ riêng React. react và vue đều là thư viện javascript, bạn dùng cái nào thì cài cái đấy.
4. Trong quá trình làm app thì nhu cầu chạy app trên localhost để debug là tất yếu. webpack-dev-server là công cụ phổ biến cho việc này. Nó sẽ dựng một server nodejs và có thể hot reload khi có thay đổi trong source code. webpack-dev-server tích hợp sẵn trong create-react-app.
5. Làm xong rồi thì build. Một cái SPA thì thường có 3 file cơ bản: 1 HTML + 1 JS + 1 CSS và các file public khác như icon, image,... Để build thì webpack cũng là một công cụ phổ biến. Build xong mang đi host ở server nào cũng được.
Reactions: Compton
Cám ơn bạn, bạn lấy ví dụ rất dễ hiểu.

Mấy cái pak trong node_modules theo mình hiểu là depedencies cho reacts đúng ko? Mình mở cái file packages.lock ra thấy 10 mấy ngàn line dependencies nên thấy rất sợ hãi mới lên voz hỏi.
File lock đó thì bạn không cần quan tâm làm gì. Nó là file npm sinh ra để quản lý dependences của các packages. Bạn chỉ cần quan tâm giỏ package.json thôi. Node_modules là folder chứa các packages mà npm đã tải về. Nên bạn sẽ thấy folder tên reactjs trong đó. Bạn cũng chẳng cần quan tâm đến folder node_modules vì npm đã quản lý cho bạn rồi. Bạn chỉ cần import module tương ứng để xài thôi.
Reactions: Compton