今日は、それ自体が弱い型指定されたJSは、データの種類は、多くの場合、実際のプロジェクトを検出する必要があると思います。私はそれを公開NPMに、JSプラグインのデータ・タイプの裁判官であることを意図しました。
基本的な考え方:
1、入力パラメータは、すべてのデータが種類を、次のデータ型を返します。
' [オブジェクトの文字列] ':' 文字列' 、 " [オブジェクトのブール] ":" ブール" 、 " [オブジェクト番号] ":' 数' 、 " [オブジェクトのNull] ":' ヌル' 、 " [未定義オブジェクト] ":" 未定義" 、 " [Object配列] ":' アレイ'、 "[オブジェクトのオブジェクト] ':' オブジェクト' ' [オブジェクトの設定] ':' 設定' ' [オブジェクトマップ] ':' マップ' ' [シンボルとオブジェクト] ':' 記号' ' [オブジェクト機能] 」:' 機能' 、 ' [オブジェクトの正規表現] ':' 正規表現' 、 '[オブジェクトウィンドウ] [:' ウィンドウ' 、 ' NaNの':' はNaN '
分析に使用する方法:Object.prototype.toString.call()
2、エンジニアリングツールとしてのWebPACKの使用、webpack.config.js
VaRの経路は、(必要= ' パス' ); CONST HtmlWebpackPlugin =必要とする(' HTML-のWebPACK-プラグイン')。// を介してインストールされたNPM CONST UglifyJsPluginは=(必要' uglifyjs-のWebPACK-プラグイン' )。 VAR設定= { モード:' 開発' 、 エントリ:[ path.resolve(__ DIRNAME、' ./src/example.js ' ) ]、 出力:{ パス:path.resolve(__ DIRNAME、' DIST ')、 ファイル名:' [名]は.jsファイル' 、 libraryTarget:" UMD "、 // 一套完整的规范CMD AMD }、 devServer:{ contentBase:' ./dist ' }、 モジュール:{ ルール:[ { テスト: /\.js$/ 、 除外する: /(node_modules)/ 、 使用:{ ローダ:' バベルローダ' 、 オプション:{ プリセット:[ ' @のバベル/プリセット-ENV ' ] } } } ] }、 プラグイン:[ 新しいHtmlWebpackPlugin({ 名:' index.htmlを' 、 テンプレート:' index.htmlを' 、 注入:真 }) ]、 最適化: { 最小:真、 最小化: 新しいUglifyJsPluginを({ テスト:/\.js(\?.*)?$/ I、 })、 ] } }。 module.exportsは =設定。
package.js
{ " 名前":" ジェンチェック" 、 " バージョン":" 1.4.0 " 、 " 説明":" 検査データの種類" 、 " 主":" SRC / index.js " 、 //注意这里是インデックス的路径不要写为index.js " スクリプト" :{ " テスト":" エコー\"エラー:なしテスト指定\」&&1番出口" " DEV":" のWebPACK-devのサーバー--inline --progress --config webpack.config.js " " PROD ":" のWebPACK --config webpack.config.js " }、" 著者":"" 、 " ライセンス":" ISC " " devDependencies " :{ " @のバベル/コア":" ^ 7.4.5 " " @のバベル/プリセット-ENV 」:" ^ 7.4.5 " 、 " バベルコア":" ^ 6.26.3 " 、 " バベルローダ":" ^ 8.0.6 " 、 " バベルプリセット-ENV ":" ^ 1.7.0 " 、 " HTML-のWebPACK・プラグイン":" ^ 3.2.0 " 、 " uglifyjs-のWebPACK-プラグイン":" ^ 2.1.3 " 、 " WebPACKの":" ^ 4.35。0 " "WebPACKの-CLI ":" ^ 3.3.5 " " WebPACKの-devのサーバー":" ^ 3.7.2 " " ジェン・チェック":" ^ 1.4.0 " } }
その後、口座番号とパスワードを使用して、次に使用NPMのリリースを公開し、出力NPM adduserコマンドラインツールにログインします。
これが完了します。
開発プロセスいくつかの注意事項があります。
1、その理由は、メインpackage.jsファイルアクセスによって、導入の仕方によってインポートすることができますので、バックメインエクスポートファイルには、プラグインを作成します
2、内部のコンフィギュレーション・ファイルをwebpack.config.js、出力構成
出力:{ パス:path.resolve(__ dirnameは、 'DIST')、 ファイル名: '[名]は.jsファイル'、 libraryTarget: "UMD"、// AMDのCMDの完全な仕様 }
スクリプトのJSを導入することができるようにするためには、上記の必要性
UMDに設定さlibraryTarget。