JavaScript参照ディレクティブとの一貫性のない動作が見られます。ただし、それは私の側のユーザーエラーであると想定しており、私が知らないことを知りたい.
私のプロジェクト (たまたま ASP.NET MVC プロジェクトですが、違いはないと思います) のフォルダーは、次の階層に編成されています。
Scripts
...MyOrg
......Models
.........Model1.js
......Support
.........Constants.js
.........Utility1.js
..._references.js
_references.js には、他の参照の中でも特にこの行が含まれているため、それを使用する各ファイルに Constants.js への参照を含める必要はありません ( Mads Kristensenによる _references.js に関する参照)。
/// <reference path="MyOrg/Support/Constants.js" />
私はこの代替形式も試しましたが、違いはありません(そして違いはありませんでした):
/// <reference path="~/Scripts/MyOrg/Support/Constants.js" />
Model1.js と Utility1.js はどちらも Constants.js のアイテムを使用します。
var msg = MyOrg.Constant.Message103;
Model1.js は、_references.js の参照ごとに、参照が Constants.js からのものであることを正しく認識しています。しかし、Utility1.js は、Utility1.jsに別の明示的な参照ディレクティブを追加しない限り、警告 ( 「暗黙的に宣言されたグローバル変数 'MyOrg' の使用」 ) で使用にフラグを立てます。これらのいずれかが機能します。
/// <reference path="~/Scripts/NextIT/Support/Constants.js"/>
/// <reference path="Constants.js"/>
Utility1.js が _references.js からの参照を認識しないのはなぜですか?