Я новичок в nodejs и немного смущен различием между страницами html и сервером на стороне клиента. Моя цель - создать интернет-магазин электронной коммерции для практики. Стек, который я хочу попробовать, это NodeJS + Express + MongoDB + AngularJS. У меня сейчас есть базовая структура, как показано ниже.NodeJS + expressJS: рендеринг html на стороне сервера и клиентской стороне
shoppingMall
..bin
..data
..node_modules
..public
....images
....javascripts
....stylesheets
..routes
....index.js
....users.js
..views
....index.jade
....layout.jade
..app.js
..package.json
Вот моя логика. Файлы внутри views
- это html-страницы, которые отображаются с сервера. Файлы Javascript внутри public/javascripts/
отображаются на клиенте. Я должен включить AngularJS
внутри layout.jade
, и любой код клиента, связанный с индексной страницей, должен перейти в public/javascripts/index.js
, и я должен включить этот файл с index.jade
. Затем html-страница выводится с сервера с использованием механизма шаблонов jade, и любое дальнейшее взаимодействие с пользователем выполняется с клиента. Любая логика на стороне сервера, связанная с index.jade
, должна перейти в routes/index.js
, а код, который живет внутри этого файла, не будет показан клиенту.
Q1. Правильно ли моя логика?
Q2. Предполагая, что я пытаюсь сохранить его как структуру MVC, какие части соответствуют M, V, C в этом случае?
Спасибо! Тем не менее, я считаю, что AngularJS должен строго использоваться в интерфейсе. –