- MomentJS 教程
- MomentJS - 首頁
- MomentJS - 概述
- MomentJS - 環境設定
- MomentJS - 簡介
- MomentJS - 解析日期和時間
- MomentJS - 日期驗證
- MomentJS - Getter/Setter
- 操作日期和時間
- 格式化日期和時間
- MomentJS - 日期查詢
- MomentJS - 國際化
- MomentJS - 自定義
- MomentJS - 時長
- MomentJS - 工具函式
- MomentJS - 外掛
- MomentJS - 示例
- MomentJS 有用資源
- MomentJS - 快速指南
- MomentJS - 有用資源
- MomentJS - 討論
MomentJS - 簡介
在本章中,我們將討論如何使用RequireJS 和 MomentJS 以及MomentJS 和 TypeScript 來操作MomentJS。
MomentJS 和 RequireJS
要了解使用 RequireJS 操作 MomentJS 的工作原理,讓我們分析一個使用 MomentJS 和 RequireJS 的工作示例。相應應用程式的資料夾結構如下所示:
您可以從 RequireJS 官方網站獲取 require.js 檔案 − https://requirejs.org/docs/download.html. 請觀察以下程式碼以更好地理解:
示例 project.html
<!DOCTYPE html>
<html>
<head>
<title>RequireJS and MomentJS</title>
<!-- data-main attribute tells require.js to load
scripts/main.js after require.js loads. -->
<script data-main="scripts/main" src="scripts/require.js"></script>
</head>
<body>
<h1>RequireJS and MomentJS</h1>
<div id="datedisplay" style="font-size:25px;"></div>
</body>
</html>
main.js
require.config({
paths:{
'momentlocale':'libs/momentlocale',
},
});
require(['momentlocale'], function (moment) {
moment.locale('fr');
var a = moment().format("LLLL");
document.getElementById("datedisplay").innerHTML = a;
});
請注意,Moment.js 和 momentlocale.js 位於 libs 資料夾中。
以下是您在瀏覽器中觀察到的 project.html 的輸出:
MomentJS 和 TypeScript
構建 MomentJS 和 Typescript 專案使用的程式碼如下所示:
package.json
{
"name": "momenttypescript",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"browserify": "^16.2.0",
"gulp": "^3.9.1",
"gulp-connect": "^5.5.0",
"gulp-typescript": "^4.0.2",
"moment": "^2.22.1",
"tsify": "^4.0.0",
"typescript": "^2.8.3",
"vinyl-source-stream": "^2.0.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
請注意,package.json 中提供的依賴項需要使用 npm install 進行安裝。
main.ts
import * as moment from 'moment';
let now = moment().format('LLLL');
document.getElementById("datedisplay").innerHTML = now;
您需要使用 Gulp 將檔案從 TypeScript 構建到 JavaScript,即從 main.ts 構建到 main.js。以下程式碼顯示了用於構建檔案的 gulpfile.js。請注意,我們使用了 gulp-connect 包,它開啟一個本地伺服器來顯示輸出。
gulpfile.js
var gulp = require("gulp");
var connect = require("gulp-connect");
var browserify = require("browserify");
var tsify = require("tsify");
var source = require("vinyl-source-stream");
gulp.task("build", function (cb) {
runSequence("browserify", "minify", cb);
});
gulp.task("startserver", ["browserify", "connect"]);
gulp.task("browserify", function () {
var b = browserify({
insertGlobals: true,
debug: false
}) .add("src/main.ts") .plugin(tsify, { typescript: require("typescript") });
return b
.bundle()
.pipe(source("main.js"))
.pipe(gulp.dest("build/"));
});
gulp.task("connect", function () {
connect.server({
root: ".",
// port: '80',
livereload: true
});
});
這是您執行上面給出的程式碼時觀察到的輸出:
您可以看到資料夾結構如下所示:
index.html 的程式碼如下所示:
<html>
<head></head>
<body>
<h1>MomentJS and typescript</h1>
<div id="datedisplay" style="font-size:30px;"></div>
<script src="build/main.js"></script>
</body>
</html>
現在,如果您開啟 https://:8080/,您將看到如下所示的輸出:
廣告