TypeScriptもいいですが、試行錯誤の速さ優先で、素のJavaScript好きです。 サーバープログラムをNode.jsで作る書くことが増え、ブラウザ側とも共有したくなった際、モジュール化の手法が異なるのがネックでした。 Node.jsのver13では、ES6のimport/exportが使え、ブラウザもES6(ECMAScript6)対応なので、移行する良い機会。 結論 - 拡張子 js → mjs - HTTPサーバーでの mjs の Content-Type は application/javascript - ブラウザ内のscriptタグには type=module - CLIでの単体テストは process.argv をチェック - "use strict" がデフォルトになったので記述不要! - ローカル開発時でもwebサーバー必須 ということで、今後の開発は .mjs
Intro 長いこと議論になっていた ES Modules の Node における扱いに一応の決着が付き、 .mjs という拡張子が採択された。 この拡張子の意味と、今後ブラウザと合わせて Universal JS を実装していく上での作法が見えてきたことになる。 合わせてエコシステムが対応していくことで、長年の夢だった JS のモジュール化を進めていくことができるだろう。 ES Modules 徐々に揃いつつある ES Modules(ESM) の仕様は TC39 で行われており、その仕様については主に以下のような部分になる。 import や export と行った構文 module 内はデフォルト strict mode module でスコープを閉じる module 内の this は undefined etc 逆に以下は TC39 での策定範囲外となる どう Module を読
個人的に注目している Feature Policy というWeb標準の技術と、Feature Policyの中で課せられるルールのうちの1つ、 unsized-media について。 Feature-Policy Feature Policyは、ブラウザ内の機能やAPIの使用可否を開発者に提供する機能。AMPはHTMLのサブセットとして強制的にパフォーマンスの劣化を起こす機能にアクセスできないようにするプラットフォームだが、Feature Policyはそれを通常のウェブサイトで、細やかに制御ができるように設計されている。Cntent Security Policy (CSP)と構文は似ているが、CSPはセキュリティをコントロールするのに対して、Feature Policyは機能をコントロールする。開発者側で機能を明示的に制御することで、大規模サービスでの長期にわたる開発運用や、サードパー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く