私はグローバル化しようとしています。以下は、現在の私のプロジェクト構成です。
- 現在、私はノード環境を使用していません。具体的には、npm も bower も使用せず、NuGet をパッケージ マネージャーとして使用しています。
- モジュールシステム: AMD
- アプリケーションの起動時に、
require.js
.config()
さまざまな外部モジュールへのパスを指定するために使用します。 - 実際のアプリケーション (タイプ) スクリプトでは、使用して
import {...} from "...";
、依存関係をロードします
Globalize
私のプロジェクトで npmとcldr
bower を避けて使用する方法があるかどうか疑問に思っていますか?
編集
だからこれは私が最終的にそれをした方法です:
私の必要なjs構成:
require.config({ baseUrl: baseUrl, paths: { /*requirejs plugins*/ 'json': baseUrl + "/Scripts/requirejs-plugins/json", 'text': baseUrl + "/Scripts/text", /*CLDR and Globalize*/ 'cldr': baseUrl + "/Scripts/cldr", 'cldr/event': baseUrl + "/Scripts/cldr/event", 'cldr/supplemental': baseUrl + "/Scripts/cldr/supplemental", 'cldr/unresolved': baseUrl + "/Scripts/cldr/unresolved", 'cldr-data': baseUrl + "/Content/cldr-data", 'Globalize': baseUrl + "/Scripts/globalize", 'Globalize.number': baseUrl + "/Scripts/globalize/number", 'Globalize.date': baseUrl + "/Scripts/globalize/date" }, shim: { 'cldr': { exports: "cldr" }, 'cldr/event': { deps: ["cldr"] }, 'cldr/supplement': { deps: ["cldr"] }, 'cldr/unresolved': { deps: ["cldr"] }, 'Globalize': { deps: [ "cldr", "json!cldr-data/supplemental/likelySubtags.json", "json!cldr-data/main/en/numbers.json", "json!cldr-data/main/en/ca-gregorian.json" ], exports: "Globalize" }, 'Globalize.number': { deps: [ "cldr", "Globalize", "cldr/event", "cldr/supplemental" ] }, 'Globalize.date': { deps: [ "cldr", "Globalize", "Globalize.number", "cldr/event", "cldr/supplemental" ] } } }); require(["cldr", "Globalize", "Globalize.number", "Globalize.date"], function() { });
明らかに、次のように
number.js
andも変更する必要がありdate.js
ます。number.js
:...// AMD define([ "cldr", //"../globalize", "Globalize", "cldr/event", "cldr/supplemental" ], factory );...
date.js
:...// AMD define([ "cldr", /*"../globalize", "./number",*/ "Globalize", "Globalize.number", "cldr/event", "cldr/supplemental" ], factory );...
そして最終的に次のように使用しました:
const Globalize = require("Globalize"); //Following dependencies can also be loaded by seperate http call to server, such as $.ajax const likelySubtags = require("json!cldr-data/supplemental/likelySubtags.json"); const enNumbers = require("json!cldr-data/main/en/numbers.json"); const enGregorianCal = require("json!cldr-data/main/en/ca-gregorian.json"); ... Globalize.load(likelySubtags); Globalize.load(enNumbers); Globalize.load(enGregorianCal); var globEn = Globalize("en"); var numFormatter = globEn.numberFormatter({ maximumFractionDigits:2}); console.log(".numberFormatter()(Math.PI)->", numFormatter(Math.PI)); var dateFormatter = globEn.dateFormatter({ skeleton: "GyMMMdhms" }); console.log("dateFormatter(new Date())->", dateFormatter(new Date()));
これについてあなたからの連絡をお待ちしています:)