sourcecode

AngularJS + 돛.js

copyscript 2023. 2. 23. 23:00
반응형

AngularJS + 돛.js

백엔드와 앵귤러에 sails.js를 사용할 수 있는 앱을 개발 중입니다.프론트 엔드용 JS.Yoman-angular generator https://github.com/yeoman/generator-angular,을 사용하여 Angular App을 만들고 프런트 엔드 로직이 완성되면 다음을 사용하여 sails 앱을 만들까 생각했습니다.

  1. npm 설치 -g 돛
  2. 새로운 앱을 항해하다

그리고 내 Angular를 모두 전송한다.JS 파일을 돛 폴더에 저장합니다.

하지만 문제는 Angular가JS는 https://github.com/rishy/angular-jade-stylus-seed과 같은 폴더 계층을 생성하고 "grunt server"를 실행하면 최종 운영 버전을 포함하는 "dist" 폴더가 생성됩니다.

반면 sails new app 폴더 계층은 sails new app과 같습니다.

  • API
    • 어댑터/
    • 컨트롤러/
    • 모델/
    • 정책/
    • 서비스/
  • 자산
    • 이미지/
    • js/
    • 스타일/
    • favicon.ico
    • robots.txt
  • 설정/
  • node_module/
    • 홈/
    • 403.ejs
    • 404.ejs
    • 500.ejs
    • 레이아웃.ejs
  • Gruntfile.js
  • app.module
  • 패키지.JSON

자, 제 질문은 다음과 같습니다.

  1. 이제 Angular Files를 이 돛 디렉토리에 전송하려면 어떻게 해야 하며 어떻게 구조화해야 합니까?
  2. 돛은 서버 부팅에 "sails lift"를 사용하고 각도에는 "grunt server"를 사용하므로, 돛 Js + Angular Js 앱의 서버 부팅에는 어느 것을 사용해야 하며, Angular JS 뒤에 생성되는 "dist" 폴더는 어떻게 해야 합니까?
  3. Gruntfile.js에는 Angular와 Sails의 코드가 포함되어 있기 때문에 어떤 변경을 해야 합니까?
  4. 다양한 뷰와 스타일 파일은 어디에 보관해야 하며 Angular 또는 Sails에서 어떻게 액세스해야 합니까?

앵귤러 때문에 많은 분들이 비슷한 문제를 겪고 있는 것 같아요.JS와 SailsJs가 현재 대유행이다.Angular를 만들기 위해 튼튼한 보일러 플레이트가 있어야 합니다.JS + 돛JS앱은 아쉽게도 없어졌어요.

Sails는 순수하게 백엔드 프레임워크이고 Angular는 순수하게 프런트 엔드이기 때문에, 양자는 잘 연동할 수 있습니다.Angular 제너레이터를 도입하면 조금 혼란스러울 수 있지만 Angular Seed 과 Sails v0.10으로 시작하는 기본적인 절차는 다음과 같습니다.

  1. 돛 을 만듭니다.sails new myApp
  2. 하다 보면 을 지웁니다.myApp/assets 표시
  3. Seed Angular Seed 을 합니다.appmyApp/assets
  4. .myapp/views/layout.ejsapp/index.html
  5. 「」에서.layout.ejs은 '('의 뒤에 )<body> 및 첫 앞<script>myApp/views/homepage.ejs
  6. ★★★<%-body%><body>를 달다layout.ejs

서버를 '시작하다'로 할 수 .sails lift은 Angular 은 http://localhost:1337.

이걸 참고용으로 기둡에 올려놨어요

파일에 대해 Grunt 파일을 호출하지 grunt server각이 지다돛을 달다Sails grunt-sync 태스크는 변경 시 프론트 엔드 자산을 감시하고 동기화할 수 있습니다.

생성기를 Yoman Angular 해 보십시오.assetsSails 앱의 폴더 및 해당 폴더 내의 제너레이터 명령을 사용합니다.지금까지 사용해 본 적이 없기 때문에 dist 폴더는 어떤 용도인지 모르지만, 설치되어 있는 노드 모듈은 모두 테스트 웹 서버(Sails가 있기 때문에 불필요)와 테스트 스위트(항상 좋은 것)를 서포트하고 있는 것 같습니다.제가 볼 수 있는 유일한 문제는 Yeoman이 생성하는 Grunt file의 태스크 중 몇 가지가 필요한지 여부입니다.돛은 컴파일 및 CSS의 최소화(제작 모드)를 덜 수행하지만, Jade 또는 Styleus에서는 아무것도 수행되지 않기 때문에 꼭 필요한 경우 이러한 작업을 돛의 Gruntfile에 추가해야 합니다.

당신의 질문은 바로 제가 Sailng을 만든 이유입니다.https://github.com/ryancp/sailng 이것은 최신 Sails 0.10.0-rc5를 사용하는 예제/플레이트 어플리케이션입니다.

또한 Sails 내에서 socket.io을 사용하여 Ajax 폴링 없이 클라이언트에 실시간 업데이트를 제공하는 방법도 설명합니다.

복제한 후 지시에 따라 돛과 각도를 함께 사용하는 방법에 대해 더 나은 아이디어를 얻으십시오.

Sails.js+Angular의 샘플 "boilerplate/example" 앱도 실행했습니다.이 솔루션에서는, 백엔드측과 프런트 엔드측(2대의 서버)으로 분리되어 있습니다.

또, 이 솔루션은, 유저간의 데이터내에서 소켓 통신과 라이브 갱신을 실증합니다.

부담없이 사용해 보세요.https://github.com/tarlepp/angular-sailsjs-boilerplate

저는 당신과 비슷한 사용 사례를 가지고 있습니다.Yeoman을 사용하여 angularjs 프로젝트 구조를 생성했습니다.이 상황에서 저의 해결책은 다음과 같습니다.

  1. grunt serve를 사용하여 angularjs 단일 페이지 앱을 최소 버전으로 생성하면 모든 것이 dist 폴더 아래에 있어야 합니다.
  2. routes.js in sails.js 프로젝트에서 뷰 구성 코드를 삭제합니다.

    '/': { 뷰: 'view' }

  3. nails.js 뷰 및 자산 폴더 아래의 모든 파일을 삭제합니다.그러나 모든 파일을 제거하기 전에 자산 폴더에 파일이 필요하지 않은지 확인하십시오.

  4. 미니화된 angularjs 웹 사이트를 복사하여 자산 폴더에 붙여넣습니다.

  5. sails.js(sails 리프트)를 기동하면, 각진 Web 사이트를 localhost:1337 에서 참조할 수 있습니다.

Sails.js는 이 방법에 대해서도 간단히 언급하고 있습니다.http://sailsjs.org/documentation/concepts/views

angular dist 폴더를 .tmp에 복사하도록 기본 작업을 구성해야 합니다.

돛 각도 프로젝트의 작업 구성을 참조하십시오.

언급URL : https://stackoverflow.com/questions/21938850/angularjs-sails-js

반응형