webpack 3零基礎入門教程〹1-紹介
4751 ワード
1.webpackは何ですか?
まず、
中国語の大体の意味は次の通りです.
大きな口語でこう言ってもいいです.
もしまだ分からないなら、原因と結果を話します.
今の社会では、web開発として、フロントエンドの重要性がますます認識され、
例えば、多くの人が様々な優れた
どのように他の人のモジュールを導入しますか?導入後は、様々な依存関係を間違いなく保証しますか?これは
モジュール化の概念を理解しましたが、
実は、モジュール化された問題が解決されたら、
2.
最後にまとめます.
先端自動化構築ツールですが、彼らの位置づけを見れば対等ではないことが分かります.
3.Browserify
3.優勢 それは開発が便利で、1つの構成ファイルだけを使って、部分 は拡張性が強く、プラグイン機構が完備されている. 4.なぜ勉強しますか?
今最も流行っている
まず、
webpack
とは何ですか?webpack
の公式は、このように定義されている.webpack
is a module bundler.Itsmann purpose is to bundle JavaScript files for usage in a browser,yet it is also capable of transforming,bundling,or packaging just able or asset.中国語の大体の意味は次の通りです.
webpack
は、モジュールパッキングマシンと見なすことができます.これは、あなたのプロジェクト構造を分析し、JavaScript
モジュール及び他のブラウザのいくつかが直接に実行できない拡張言語(Scss
、TypeScript
など)を見つけ、それを変換し、パッケージ化して適切なフォーマットにして、ビューアに使用させます.大きな口語でこう言ってもいいです.
webpack
は先端モジュール化方案であり、より側重モジュール包装であり、開発中のすべての資源(ピクチャ、jsファイル、cssファイルなど)をモジュールとして見なすことができ、loader
(キャリアアップ)とplugins
(プラグイン)を通じて資源を処理し、生産環境の配置に合う先端リソースに包装することができます.もしまだ分からないなら、原因と結果を話します.
今の社会では、web開発として、フロントエンドの重要性がますます認識され、
HTML5
、CSS3
、ES6
の様々な技術の発展に伴って、フロントエンドの開発がますます人気を集めています.一部のアプリケーションは単一ページアプリケーション(SPA)であり、純JavaScript
が開発し、JavaScript
ファイルの管理も問題である.JavaScript
はモジュール化されたプログラミングで、すでに切実な需要となりました.これはJavaScript
のモジュールソリューションが現れました.以前はrequirejs
またはseajs
を使っていましたが、今はwebpack
を使っています.例えば、多くの人が様々な優れた
JavaScript
モジュールやコンポーネントを開発しています.私たちは車輪を発明したくないです.直接に他の人のモジュールを利用したいです.つまり、require
やinclude
のような仕組みで、他の人のモジュールを導入しますが、JavaScript
は
や
という概念がないです.どうすればいいですか?どのように他の人のモジュールを導入しますか?導入後は、様々な依存関係を間違いなく保証しますか?これは
webpack
の解決すべき問題です.モジュール化の概念を理解しましたが、
という言葉はどう分かりますか?実は、モジュール化された問題が解決されたら、
webpack
は各種のリソースモジュールを一つのファイルにまとめてブラウザに出力することができます.これらのリソースは、包装中に処理されてもよく、例えば圧縮による体積の低減、sass
をcss
にコンパイルし、coffee
をjs
にコンパイルする.したがって、ある程度はgrunt/gulp
の機能と同じです.grunt/gulp
との違いについては、以下に述べる.2.
grunt/gulp
との違いgrunt/gulp
の定義はTask Runner
である.ruby
のRake
またはThor
に似ています.もしあなたがruby
を知らないなら、c/cpp
言語のmake
はよく知っているはずです.これは任務を書く道具です.grunt/gulp
はJavaScript
でtaskを書くだけです.grunt/gulp
は、フロントエンド開発のワークフローを強調し、一連のtaskを構成することによって、task処理のトランザクション(例えば、ファイル圧縮合併、スプライト図、起動server、バージョン制御など)を定義し、実行順序を定義して、grunt/gulp
にこれらのtaskを実行させ、プロジェクトのフロントエンド開発フロー全体を構築することができる.const gulp = require('gulp');
const babel = require('gulp-babel');
// gulp.src , pipe , gulp.dest 。
gulp.task('default', () =>
gulp.src('src/app.js')
.pipe(babel({
presets: ['es2015']
}))
.pipe(gulp.dest('dist'))
);
例えば、あなたの工程モジュールが簡単に依存しているなら、jsや各種の資源を梱包する必要はなく、簡単な合併、圧縮だけが必要であれば、webpackは必要ありません.grunt/gulpで十分です.逆に、もしあなたのプロジェクトが巨大で、ページに多くのライブラリが使用されているならば、webpack
を選択して使用することができます.これはモジュール化管理もできますし、圧縮などの機能もできるし、grunt/gulp
をcoffeescript
に変換することもできます.js
もgulp
と組み合わせることができ、webpack
の中にwebpack-streamプラグインがあります.gulp
にmodule dependencyを専門にさせ、webpack
ファイルを生成し、bundle.js
で他の雑多なminify、uglifyを作らせることです.その後、gulp
にwebpack
のオプションがあることが分かり、plugins
を介して生成されたloader
をさらに処理するために使用され、対応するプラグインが書かれているので、minify/uglifyを生成し、hashを生成する作業もbundle.js
自体に移行し、webpack
の部分の市場シェアを押しつぶすことができる.その後、gulp
の中のscriptsがちゃんと使われていることが分かりました.ジョブを呼び出した時に直接に簡単な命令を書きました.npm/package.json
は各種プラグイン命令の組み合わせではないです.ですから、今見ている多くの新しいプロジェクトは全部gulp
の中のscriptsです.外部はgulp/grunt
だけでいいです.(ネットワークhttps://segmentfault.com/q/10...から)最後にまとめます.
先端自動化構築ツールですが、彼らの位置づけを見れば対等ではないことが分かります.
package.json
は厳密に言えば、モジュール化は彼が強調するものではなく、先端開発プロセスを規範化することを目的としている.webpack
はさらにモジュール化開発を強調し、それらのファイルの圧縮合併、前処理などの機能は彼に付随する機能にすぎない.3.Browserify
grunt/gulp
はwebpack
と比較するよりも、webpack
と比較するほうがいいです.両者はより近いですが、grunt/gulp
はBrowserify
によって代替されるべきでしょう.3.優勢
Browserify
は、jsを処理するだけでなく、cssを処理することもでき、htmlを処理することもできます.さらには、ピクチャなどの様々な先端リソースです.webpack
の仕事に取って代わることができます.例えば、包装、圧縮混淆、写真転送base 64などです.今最も流行っている
Browserify
、webpack
、grunt/gulp
などの技術を勉強して使ってみてください.