簡體   English   中英

為什么我的JavaScript文件無法加載?

[英]Why is my javascript file not loading?

我是JavaScript和AngularJS的新手。 我正在構建一個與建築物管理系統對話的應用程序:它有一個名為“ JaceMod”的模塊,其中包含與BMS聯系並從中檢索數據的服務。 我正在使用Dygraphs向圖形數據添加功能,並且創建了一個指令來實例化圖形並用數據填充它。

我想將我的Dygraphs指令放在一個單獨的文件“ angular-dygraphs.js”中的一個名為“ dygraphs”的模塊中,以便以后再使用它,並要求此模塊作為'JaceMod'中的依賴項。 像這樣:

'use strict';
console.log('Loading angular-dygraphs.js');
angular.module('dygraphs', []);

angular.module('dygraphs').directive('mrhDygraph', function ($parse) {
    return {
...etc ...
    };
});

然后是主文件“ app.js”:

'use strict';
console.log('Loading app.js');

angular.module('JaceMod', ['dygraphs']);

angular.module('JaceMod').factory('JaceData', function ($http, $timeout) {
    var JaceDataService = {};
...etc ...
    return JaceDataService;
});

angular.module('JaceMod').controller('myCtrl', function myCtrl($scope, JaceData) {
    JaceData.initialise($scope);
    JaceData.subscribe($scope);
});

html看起來像這樣:

<html lang="en" ng-app="JaceMod">
<head>
    <meta charset="utf-8">
    <title>AngularJACE</title>
    <style type="text/css">
        body {font-family:  Trebuchet MS,Helvetica,Arial,sans-serif; }
    </style>
</head>
<body ng-controller="myCtrl">
    <div mrh-dygraph="graphData"
         mrh-dygraph-options="{xlabel: 'Local Time', legend: 'always',
                              showRangeSelector: true, labels: ['Time', 'Outside'],
                              ylabel: 'Temperature (ºC)', height: 420}"
         style="width: 100%; height 420px;"/>
    <script src="dygraph-combined.js"></script>
    <script src="angular.js"></script>
    <script src="angular-dygraphs.js"/>
    <script src="app.js"></script>
</body>

但是,當我加載此html時,我看到了控制台消息“ Loading angular-dygraphs.js”,后出現錯誤“錯誤:無模塊:JaceMod”。 我從未在app.js看到日志消息。 如果我切換最后2個javascript文件的加載順序,則會看到app.js加載,並且錯誤消息為“錯誤:無模塊:dygraphs”。 列出的第二個文件似乎永遠不會加載。

如果我將代碼從angular-dygraphs.js復制到app.js,並將指令保留在其自己的模塊中,則它將起作用。

為什么會這樣呢? 不能將模塊放在自己的文件中嗎? 這些文檔沒有太大幫助。

編輯添加

html和js文件都在同一個目錄中,包括圖譜和角度庫。 我正在從文件加載html,不涉及服務器。

更新

我將所有內容從angular-dygraphs.js復制到app.js,並注釋了整個angular-dygraphs.js:仍然出現問題,但app.js無法加載。

您的angular-dygraphs.js腳本標簽未關閉,因此它永遠不會讀取app.js。 腳本標簽不能自動關閉:

<script src="angular-dygraphs.js"/>

應該

<script src="angular-dygraphs.js"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM