2014-09-29 3 views
2

Я новичок begin.js и после прохождения простого учебника, я попытался загрузить приложение с открытым исходным кодом, которое использует node.js, и я получаю ошибку ниже. Я уверен, что это проблема с тривиальной конфигурацией, но я ее не вижу.Угловое не определено в node.js app

ReferenceError: angular is not defined 
    at Object.<anonymous> (d:\projects\nodeapp\app\app.js:7:15) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:906:3 

Здесь app.js, где происходит ошибка.

/** 
* App bootstrap script <----- START OF FILE 
*/ 

'use strict'; 

var nodeapp = angular.module('nodeapp', ['ngRoute', 'ngSanitize', 'ngAnimate']); <----- ERROR 

Вот index.html

<!doctype html> 
<html ng-controller="AppCtrl"> 
<head> 
    <meta charset="utf-8"> 
    <title>App</title> 

    <link href="./visual/css/main.css" rel="stylesheet" type="text/css"> 

    <script src="./bower_components/jquery/jquery.min.js"></script> 
    <script src="./bower_components/angular/angular.js"></script> 
    <script src="./bower_components/angular-sanitize/angular-sanitize.js"></script> 
    <script src="./bower_components/angular-route/angular-route.js"></script> 
    <script src="./bower_components/angular-animate/angular-animate.js"></script> 

    ... more scripts ... 

    <script src="./app.js"></script> 

</head> 
<body class='app-not-ready'> 

    <ng-view></ng-view> 

    <div class="notification-bar" 
     ng-if="notificationBarVisible" 
     ng-animate 
     ng-bind="notificationMessage"></div> 

</body> 
</html> 

Вот структуре папок

Folder Structure

+0

О, вы запускаете 'node app.js'? Angular - это интерфейс javascript. Или, может быть, я тебя не понимаю. – dizel3d

+0

@ dizel3d Да. Когда я запускаю узел app.js, я получаю ошибку выше. – drneel

+0

@ dizel3d Если я запускаю master/app.js, я получаю не могу найти выражение. Если я запустил master/public/app.js, я не могу найти угловой. – drneel

ответ

3

Вы просто запутался. =) AngularJS является интерфейсом JavaScript framework и работает только на стороне клиента (браузера). NodeJS - это платформа для написания серверной части. Возьмите простой пример приложения NodeJS в среде Express. https://github.com/dizel3d/bicycles. Прежде всего вам необходимо установить NodeJS и его модули (запустить в корневом каталоге проекта в командной строке node i). Начало node app.js и открыта http://localhost:3000.

+0

У меня установлен узел, и я понимаю, что этот узел является языком на стороне сервера, а угловая - интерфейсом. Из того, что я прочитал, они должны работать вместе (т. Е. Стек MEAN). – drneel

+0

Together означает node.js на внутреннем интерфейсе и AngularJS на интерфейсе в браузере. –

+0

Думаю, я понимаю, о чем вы говорите. Вы говорите, что я пытаюсь запустить угловой «app.js» с узлом, когда я должен попытаться запустить узел «app.js» с узлом. – drneel

Смежные вопросы