3

私は、yeoman を使用して JavaScript フロントエンド アプリケーションを管理しようとしています。私はヨーマンの経験がありません。grunt コマンドの実行中に、次のエラーが発生します。

Running "jshint:all" (jshint) task
Linting app/scripts/services/stopmOverSockJs.js ...ERROR
[L7:C26] W117: 'SockJS' is not defined.
        var socket = new SockJS(url);

bower.json で sock js 依存関係を定義しました:

{
  "name": "web",
  "version": "0.0.0",
  "dependencies": {
      "sockjs": "~0.3.4",
      "angular": "~1.0.7",
...

bower install コマンドは問題なく実行され、sockjs を含むすべての依存関係がダウンロードされます。

これは、grunt コマンドが不平を言うファイルです。

'use strict';

angular.module('webApp').factory('sockJsHelper', function($rootScope) {

    function Handler(url) {
        var socket = new SockJS(url); //it complains about this line
.... 

SockJS を認識させるにはどうすればよいですか?

4

1 に答える 1

7

JSHint は、スクリプトで SockJS を見つけることができないため、SockJS が未定義であると考えます。ブラウザからロードした場合でも!この動作を修正するには、これを Gruntfile の JSHint 構成に追加します。

jshint: {
    options: {
        // all of your other options...
        predef: ['SockJS']
    },
    files : ['path/to/main.js']
},
于 2013-10-06T18:24:40.113 に答える