ReactフレームワークにWebpackを導入する方法
Webpack を React フレームワークに導入する方法: 最初にフォルダーを作成し、次に「package.json」プロジェクト ファイルを作成し、次に Webpack をグローバルにインストールし、最後に「npm install」を通じてプロジェクトに Webpack をインストールできます。
webpack とは何ですか?
Webpack はモジュール パッケージング ツールで、フロントエンドではモジュールとは js、css、画像、その他の種類のファイルを指します。 Webpack は複数のモジュール システムをサポートし、js の複数の記述仕様 (ES6 など) と互換性があり、モジュール間の相互依存関係を処理し、静的リソースを均一にパッケージ化して公開できます。 webpack のインストールと使用まず、study などのフォルダーを作成し、スタート メニューで cmd を開き、フォルダーに入り、次の手順を実行します。 1. npm init //package.jsonプロジェクトファイルを作成します。 2. npm install -g webpack // webpack をグローバルにインストールします。すでにインストールされている場合はスキップできます。 3. npm install --save-dev webpack //プロジェクトに webpack をインストールします。 作成が完了したら、ファイル ディレクトリに 2 つのフォルダー、dist (パッケージ化後に配置されるフォルダー) と src (プロジェクトを作成する場所) を作成します。 src フォルダー内に、まず、index.js と main.js という 2 つのファイルを作成します。 dist フォルダー内に、ブラウザーが読み取って表示するためのindex.html を作成します。構造は次のとおりです:dist/index.html に初期コンテンツを記述します。インポートされた js ファイルは、bundle.js ファイルです。このファイルは、後で生成されます。 webpack のパッケージ化ドキュメント。以下に示すように:
index.js に「エクスポート コード」を入力します:
module.exports = function() { var hello = document.createElement('div'); hello.textContext = "This is index.js file." return hello; }
const hello = require('./index.js'); document.querySelector('#root').appendChild(hello());
module.exports = { entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, }
module.exports = { devtool: 'eval-source-map', entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, }
这四种方式从上到下打包速度回越来越快,当然隐患越来越多,所以在生产阶段还是用第一种为好。
使用webpack构建本地服务器
webpack提供一个可选的可以检测代码的修改并自动刷新页面的本地服务器。该服务器是基于node.js的,不过我们需要单独安装它作为项目依赖。
npm install --save-dev webpack-dev-server
devserver作为webpack配置选项中的一项,以下是它的一些主要配置选项:
1、contentBase: 默认webpack-dev-server会为根文件夹提供本地服务器,如果想为另外一个目录下的文件提供本地服务器,应该在这里设置其所在目录(本例设置到“public"目录)
2、port: 设置默认监听端口,如果省略,默认为“8080”
3、inline: 设置为true,当源文件改变时会自动刷新页面
4、historyApiFallback: 在开发单页应用时非常有用,它依赖于HTML5 history API,如果设置为true,所有的跳转将指向index.html
代码如下:
module.exports = { devtool: 'eval-source-map', entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, devServer:{ contentBase: "./dist", //读取目录 port: 8000, //端口号 inline: true, //实时刷新 historyApiFallback: true //单页面不跳转 }, }
接着我们要在package.json中配置server代码如下:
{ "name": "study-webpack", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "webpack", "test": "echo \"Error: no test specified\" && exit 1", "server": "webpack-dev-server --open" }, "author": "", "license": "ISC", "devDependencies": { "webpack": "^3.8.1", "webpack-dev-server": "^2.9.3" } }
接着在cmd中输入 npm run server 即可在浏览器中打开本地服务器。
Loaders
loaders作为webpack的强大功能之一,它的作用就是让webpack调用外部脚本和工具来对不同的格式的文件进行处理。Loaders需要单独安装并且需要在webpack.config.js下的modules关键字下进行配置,Loaders的配置选项包括以下几方面:
1、test:一个匹配loaders所处理的文件的扩展名的正则表达式。
2、loader: loader的名称(必需)。
3、include/exclude:手动添加:手动添加需要的文件夹或者屏蔽掉不需要选择的文件。
4、query: 为loaders提供了额外的设置选项。
babel
babel是一个编译js的平台,它可以帮助你的代码编译称为浏览器识别的代码。并且它还可以把js的扩展语言JSX编译称为浏览器识别的语句。
安装依赖包:
npm install --save-dev babel-core babel-loader babel-preset-es2015 babel-preset-react
下面我们在webpack.config.js中来配置loader和babel:
module.exports = { devtool: 'eval-source-map', entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, module: { loaders:[{ test: /\.js$/, //需要匹配的文件扩展名 exclude: /node_modules/, // 排除不需要处理的文件夹 loader: 'babel-loader', // 所用的loader名称 query:{ presets: ['es2015', 'react'] // 支持es5与react } }] }, devServer:{ contentBase: "./dist", //读取目录 port: 2333, //端口号 inline: true, //实时刷新 historyApiFallback: true //单页面不跳转 }, }
完成以上工作后接着来安装react
npm install --save react react-dom
接着修改src文件夹中的Index.js与main.js的代码,react使用的版本"react": "^16.0.0":
以下是Index.js代码:
import React from 'react'; import ReactDOM from 'react-dom'; class Greeter extends React.Component{ render() { return ( <div> <span>my god</span> </div> ); } }; export default Greeter
以下为main.js代码:
import React from 'react'; import ReactDOM from 'react-dom'; import Greeter from './Index'; ReactDOM.render(<Greeter />, document.getElementById('root'));
Babel的配置选项
因为babel有非常多的配置选项,在单一的webpack.config.js文件中进行配置往往使得这个文件显得太复杂,因此一些开发者支持把babel的配置选项放在一个单独的名为 ".babelrc" 的配置文件中。因此现在我们就提取出相关部分,分两个配置文件进行配置(webpack会自动调用.babelrc里的babel配置选项)。
将webpack.config.js中的query去掉,建立.babelrc文件写出一下代码:
{ "presets": ["react", "es2015"] }
css的相关安装
webpack把所有文件当成模块处理,只要有合适的loaders,它都可以被当做模块来处理。webpack提供两个工具处理样式表css-loader,style-loader,二者处理的任务不同,css-loader使你能够使用类似@import 和 url(…)的方法实现 require()的功能,style-loader将所有的计算后的样式加入页面中,二者组合在一起使你能够把样式表嵌入webpack打包后的JS文件中。
安装loader
npm install --save-dev style-loader css-loader
接着webpack.config.js中添加loaders
module.exports = { devtool: 'eval-source-map', entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, module: { loaders:[ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }, { test: /\.css$/, loader: 'style-loader!css-loader' } ] }, devServer:{ contentBase: "./dist", //读取目录 port: 2333, //端口号 inline: true, //实时刷新 historyApiFallback: true //单页面不跳转 }, }
接着我们可以创立一个css文件,记好路径,在main.js中(也就是webpack的入口文件)我们导入css文件即可使用。
这里题外说个问题,我们想在react中使用sass,就在此基础上先进行npm下载
加载: npm install sass-loader node-sass –save-dev
之后我们在webpack.config.js中添加loaders
module.exports = { devtool: 'eval-source-map', entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, module: { loaders:[ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }, { test: /\.(css|scss)$/, loader: 'style-loader!css-loader!sass-loader' } ] }, devServer:{ contentBase: "./dist", //读取目录 port: 2333, //端口号 inline: true, //实时刷新 historyApiFallback: true //单页面不跳转 }, }
之后再style文件夹中创立一个scss文件导入到main.js文件中即可使用了。
eslint的安装与使用
首先安装依赖包 npm install –save-dev eslint eslint-loader
通过配置webpack.congfig.js以及创建.eslintrc文件来配置好初始值即可在项目中使用eslint。
webpack.config.js: module.exports = { devtool: 'eval-source-map', entry: __dirname + "/src/main.js", output:{ path: __dirname + "/dist", filename: "bundle.js" }, module: { loaders:[ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader!eslint-loader' }, { test: /\.(css|scss)$/, loader: 'style-loader!css-loader!sass-loader' } ] }, devServer:{ contentBase: "./dist", //读取目录 port: 2333, //端口号 inline: true, //实时刷新 historyApiFallback: true //单页面不跳转 }, }; .eslintrc { "parser": "babel-eslint", "rules": { "semi": [ "error", "always" ] } }
eslint的相关规则根据自己的需求来制定即可。
以上がReactフレームワークにWebpackを導入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









React と WebSocket を使用してリアルタイム チャット アプリケーションを構築する方法 はじめに: インターネットの急速な発展に伴い、リアルタイム コミュニケーションがますます注目を集めています。ライブチャット アプリは、現代の社会生活や仕事生活に不可欠な部分になっています。この記事では、React と WebSocket を使用して簡単なリアルタイム チャット アプリケーションを構築する方法と、具体的なコード例を紹介します。 1. 技術的な準備 リアルタイム チャット アプリケーションの構築を開始する前に、次のテクノロジとツールを準備する必要があります。 React: 構築用の 1 つ

React フロントエンドとバックエンドの分離ガイド: フロントエンドとバックエンドの分離と独立したデプロイメントを実現する方法、特定のコード例が必要です 今日の Web 開発環境では、フロントエンドとバックエンドの分離がトレンドになっています。フロントエンド コードとバックエンド コードを分離することで、開発作業がより柔軟かつ効率的になり、チームのコラボレーションが促進されます。この記事では、React を使用してフロントエンドとバックエンドの分離を実現し、それによって分離と独立したデプロイの目標を達成する方法を紹介します。まず、フロントエンドとバックエンドの分離とは何かを理解する必要があります。従来の Web 開発モデルでは、フロントエンドとバックエンドが結合されています。

React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 はじめに: インターネットの発展に伴い、Web アプリケーションのニーズはますます多様化および複雑化しています。使いやすさとパフォーマンスに対するユーザーの要件を満たすために、最新のテクノロジー スタックを使用してネットワーク アプリケーションを構築することがますます重要になっています。 React と Flask は、フロントエンドおよびバックエンド開発用の 2 つの非常に人気のあるフレームワークであり、うまく連携してシンプルで使いやすい Web アプリケーションを構築します。この記事では、React と Flask を活用する方法について詳しく説明します。

React と RabbitMQ を使用して信頼性の高いメッセージング アプリケーションを構築する方法 はじめに: 最新のアプリケーションは、リアルタイム更新やデータ同期などの機能を実現するために、信頼性の高いメッセージングをサポートする必要があります。 React はユーザー インターフェイスを構築するための人気のある JavaScript ライブラリであり、RabbitMQ は信頼性の高いメッセージング ミドルウェアです。この記事では、React と RabbitMQ を組み合わせて信頼性の高いメッセージング アプリケーションを構築する方法を紹介し、具体的なコード例を示します。 RabbitMQ の概要:

React レスポンシブ デザイン ガイド: アダプティブ フロントエンド レイアウト効果を実現する方法 モバイル デバイスの人気と、マルチスクリーン エクスペリエンスに対するユーザーの需要の高まりに伴い、レスポンシブ デザインは最新のフロントエンド開発における重要な考慮事項の 1 つとなっています。 React は、現在最も人気のあるフロントエンド フレームワークの 1 つであり、開発者がアダプティブ レイアウト効果を実現するのに役立つ豊富なツールとコンポーネントを提供します。この記事では、React を使用してレスポンシブ デザインを実装するためのガイドラインとヒントをいくつか紹介し、参考として具体的なコード例を示します。 Reactを使用したファイル

React コード デバッグ ガイド: フロントエンドのバグをすばやく見つけて解決する方法 はじめに: React アプリケーションを開発するとき、アプリケーションをクラッシュさせたり、不正な動作を引き起こしたりする可能性のあるさまざまなバグに遭遇することがよくあります。したがって、デバッグ スキルを習得することは、すべての React 開発者にとって不可欠な能力です。この記事では、フロントエンドのバグを見つけて解決するための実践的なテクニックをいくつか紹介し、読者が React アプリケーションのバグをすばやく見つけて解決できるようにする具体的なコード例を示します。 1. デバッグツールの選択: In Re

ReactRouter ユーザーガイド: フロントエンドルーティング制御の実装方法 シングルページアプリケーションの人気に伴い、フロントエンドルーティングは無視できない重要な部分になりました。 React エコシステムで最も人気のあるルーティング ライブラリとして、ReactRouter は豊富な機能と使いやすい API を提供し、フロントエンド ルーティングの実装を非常にシンプルかつ柔軟にします。この記事では、ReactRouter の使用方法と具体的なコード例を紹介します。 ReactRouter を最初にインストールするには、次のものが必要です

React と Google BigQuery を使用して高速データ分析アプリケーションを構築する方法 はじめに: 今日の情報爆発の時代において、データ分析はさまざまな業界で不可欠なリンクとなっています。中でも、高速かつ効率的なデータ分析アプリケーションを構築することは、多くの企業や個人が追求する目標となっています。この記事では、React と Google BigQuery を使用して高速データ分析アプリケーションを構築する方法を紹介し、詳細なコード例を示します。 1. 概要 React はビルドするためのツールです
