Я импортирую простой HTML-файл в свой файл NodeJS. Файл HTML содержит переменную, привязанную к данным, которую я установил внутри своего контроллера. Проблема в том, что, когда NodeJS-файл импортирует HTML-файл, {{name}} не получает привязанные данные, а показания - просто "{{name}}". Однако, если я непосредственно просматриваю файл.html, отображается фактическое значение, поэтому я не уверен, что это проблема на стороне сервера. Вот мой код:NodeJS с AngularJS, требуемый HTML-файл не привязывает глобальную переменную к контроллеру
mycontrollers.js
var app = angular.module('myapp', []);
app.value('name', {content: "BOBBY "});
app.controller('mycontroller', ['$scope', 'name', function($scope, name) {
$scope.name = name.content;
}]);
app.js:
var file = fs.readFileSync(__dirname + '/public/file.html').toString();
file.html
<html ng-app="myapp">
<body ng-controller="mycontroller">
{{name}}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min.js"></script>
<script src="mycontrollers.js"></script>
</body>
Любые идеи о том, почему это происходит и как решить эту проблему?
Возможно ли, что это относительный вопрос пути? Другими словами, когда вы загружаете файл html, действительно ли он запрашивает JS-файл из URL-адреса, где вы так думаете? Трудно сказать, какой URL-адрес браузер запрашивает ваш html-файл, просто взглянув на ваш пример. Проверьте вкладку сети в инструментах Chrome Dev, чтобы узнать, возвращается ли запрос для JS. – mcgraphix
Нет ошибки при чтении файла, поэтому я предполагаю, что путь правильный, не уверен, что это проблема с тем, как работают глобальные переменные или как сервер обрабатывает html-файлы с переменными, привязанными к данным – user3226932
, можете ли вы опубликовать остальную часть app.js, который фактически обрабатывает запрос и отправляет ответ? – mcgraphix