ホームページ ウェブフロントエンド jsチュートリアル Vue+webpackの基本構成を詳しく解説

Vue+webpackの基本構成を詳しく解説

Jun 06, 2018 am 09:55 AM
vue

この記事では主に Vue+webpack プロジェクトの基本的な構成チュートリアルを紹介します。必要な方は参考にしてください。

私は最近 webpack を学習しており、シングルページ アプリケーションを作成するためのコースをここに記録します。このパートでは主に、webpack 環境の構成方法と webpack dev の構成について説明します。

記録は大まかなので後ほど更新します。

1. 開発環境: vscode、node.js、vue.js、webpack

初心者向けチュートリアルを参照して自分でnode.jsをインストールできます

使用するIDEはVScodeです

2.

ショートカット キー ctrl+` で vscode コンソールを開きます

vscode インターフェイス

2.1 webpack vue vue-loader をインストールします

npm init
npm i webpack vue vue-loader
ログイン後にコピー

npm 依存関係が必要であることを知らせる警告が表示されます。プロンプトに従ってインストールしてください

警告

対応するローダーをインストールします

npm i css-loader vue-template-compiler
ログイン後にコピー

2.2 app.vueファイルをロードするようにwebpackを設定します

まずsrcフォルダーを作成し、その下にメインコードファイルとしてapp.vueを作成し、その下にindex.jsを作成しますエントリーファイル。

基本ファイル

app.vueファイルの内容は以下のとおりです:

<template>
 <p id="text">{{text}}</p>
</template>
<script>
 export default{
 data(){
  return {
  text: &#39;abc&#39;
  }
 }
 }
</script>
<style>
 #test{
 color: red;
 }
</style>
ログイン後にコピー

srcと同じディレクトリにwebpack.config.jsファイルを作成し、エントリエントリを設定し、出力を出力します

package.json ファイルと webpack.config.js ファイルを作成します

//webpack.config.js
const path = require(&#39;path&#39;)
module.exports = {
 entry: path.join(__dirname,&#39;src/index.js&#39;), //调用Index.js作为入口文件
 output: { //打包完的js文件会在bundle.js中,这个文件待会会自动生成的
 filename: &#39;bundle.js&#39;, 
 path: path.join(__dirname,&#39;dist&#39;) //用来存放bundle.js文件的地址,自己定义
 },
 module: {
 rules: [{
  test: /.vue$/,
  loader: &#39;vue-loader&#39;
 }]
 }
}
ログイン後にコピー

index.js ファイルをエントリとして作成します

//index.js
import Vue from &#39;vue&#39;
import App from &#39;./app.vue&#39;
const root = document.createElement(&#39;p&#39;)
document.body.appendChild(root)
new Vue({
 render: (h) => h(App)
}).$mount(root)
ログイン後にコピー

package.json ファイルに script コマンドを設定し、build を追加します

"scripts": {
 "test": "echo \"Error: no test specified\" && exit 1",
 "build": "webpack --config webpack.config.js"
 },
ログイン後にコピー

パッケージ化が成功したら、以下の図に示すように、コンソールにアクセスします。 [モジュール内: webpack.config.js の {} module] で、webpack が認識する必要があるファイル タイプを設定できます。vue ファイル タイプはすでに設定されているため、css/images を追加する必要があります。

//webpack.config.js 
module: {
 rules: [
 {
 test: /.vue$/,
 loader: &#39;vue-loader&#39;
 },
 {
 test: /.css$/,
 use:[
 &#39;style-loader&#39;,
 &#39;css-loader&#39;
 ]
 },
 {
 test: /\.(gif|jpg|png|svg)$/,
 use: [{
  loader: &#39;url-loader&#39;,
  options: {
  limit: 1024,
  name:&#39;[name].[ext]&#39;
  }
 }]
 }
] 
}
ログイン後にコピー

コンソールでコマンドを実行し、対応するローダーをインストールします

npm i style-loader css-loader url-loader file-loader
ログイン後にコピー

非jsタイプのファイルのパッケージ化効果をテストします

目標: これらの非jsタイプのファイルの内容をjsコードでインポートします

srcで作成しますサブディレクトリ テスト ファイル test.css。そして、代わりにjpg画像を画像に入れます(1つで十分です、えっと、入れすぎたのでまだ削除しません)

srcの下のファイル構造

これらの非jsファイルをIndex.jsにインポートします。

//index.js
import Vue from &#39;vue&#39;
import App from &#39;./app.vue&#39;
import &#39;./assets/styles/test.css&#39; //import css文件
import &#39;./assets/images/0.jpg&#39; //import 图片
const root = document.createElement(&#39;p&#39;)
document.body.appendChild(root)
new Vue({
 render: (h) => h(App)
}).$mount(root)
ログイン後にコピー

最後に、コンソールで npm run build を実行して結果をテストします。

成功した梱包の写真は上記と似ています。

2.4 CSSプリプロセッサについて。 stylus の設定とテスト

stylus は css のプリプロセッサです。ここで設定します

まず、webpack.config.js ファイルの rules:[] モジュール内で、上記のように、.styl ファイルを認識できるように次のコードを追加します

//webpack.config.js
  {
  test:/.styl$/,
  use: [
   &#39;style-loader&#39;,
   &#39;css-loader&#39;,
   &#39;stylus-loader&#39;
  ]
  }
ログイン後にコピー

次に、スタイラスに必要なローダー ファイルをコンソールにインストールします

npm i style-loader stylus-loader
ログイン後にコピー

最後に、コンソールで npm run build を実行してテストします結果。

2.5 webpack-dev-serverの設定: 開発環境でのパッケージ化に特に使用されますnpm run build 测试结果。

打包成功图片类似上面。

2.4关于css预处理器。stylus的配置和测试

stylus是css的一种预处理器,文件类型是 .styl 我们这里对其进行配置

首先在webpack.config.js文件中的rules:[]模块中跟上面一样,加入如下代码,让其可以识别.styl文件

npm i webpack-dev-server
ログイン後にコピー

然后在控制台安装stylus所需的loader文件

npm i cross-env
ログイン後にコピー

最后在控制台执行 npm run build

正式な環境は開発環境とは異なるため、それを区別できるようにdevを設定する必要があります

まず、webpack-dev-serverをインストールします

npm i html-webpack-plugin
ログイン後にコピー
ログイン後にコピー

次に、package.json ファイルを変更し、build の下に dev 構成を追加します

package.json ファイル構成を変更します

次に、webpack.config.js を変更します

ターゲット: 'web' をグローバルに追加します

config.js

このファイルは開発環境と正式環境の両方で使用するため、npm実行時に環境判定を追加したり、異なる環境を識別するための変数を追加したりする必要があります。

Windows環境とMac環境ではコマンドが異なるため、異なる開発環境でもコマンドを同じにするために、ここでcross-envパッケージをインストールします。

npm run dev
ログイン後にコピー
ログイン後にコピー

package.json ファイルを再度変更し、「build:」行と「dev:」行に dev コマンドを追加します

cross-env NODE_ENV=development 残りは変更されません

package.json ファイル build

然后,在webpack.config.js文件中进行判断。

首先,配置config.devServer

webpack2之后就可以直接用config.devServer进行配置了。

更改文件头部几行代码

在文件的最后加上如下代码

config.devServer

注意:
host:'0.0.0.0'不要直接写localhost,这样别人的电脑就访问不了了;port不要被占用,不然会打不开

最后.安装html-webpack-plugin插件使得html可以作为入口,自动包含JS

npm i html-webpack-plugin
ログイン後にコピー
ログイン後にコピー

修改webpack.config.js文件

config.js

config.js

至此,dev配置基本完成

控制台执行 npm run dev

npm run dev
ログイン後にコピー
ログイン後にコピー

打包成功的话就可以在浏览器中查看效果了,

如果出现错误,根据提示修改,注意端口是否占用。我的8000端口占用了,后来用了8080端口就好了

浏览器访问:localhost:8080,可以查看渲染效果。恩,背景图0.jpg是我爱豆23333。笔芯。注意左上角有红色的abc。

浏览器效果

2.6最后还有一些东西要加在config.js中

最后还要加一些东西

1) historyFallback:{}

因为我们做的是单页应用,所以要加一下地址映射到入口index.html,这个先忽略

2) 热加载功能。

hot功能,可以实现局部渲染:比如你改了一个组件的代码,页面只重新渲染这个组件而不是整个页面进行渲染,不需要进行刷新操作。

3) 一些插件

webpack.HotModuleReplacementPlugin()启动hot功能
ログイン後にコピー

webpack.NoEmitOnErrorsPlugin()去除一些不必要的信息

4) 浏览器调试代码功能的工具

在浏览器中调试的时候,代码不会转码。

config.devtool = “#cheap-module-evel-source-map”
ログイン後にコピー

最后配置完成后,重新npm run dev一次

npm run dev

成功之后,可以在浏览器中测试热加载效果,修改app.vue文件中的text的内容,就可以看到左上角那个红色的字在变了emmmm

//app.vue
<template>
 <p id="text">{{text}}</p>
</template>
<script>
 export default{
 data(){
  return {
  text: &#39;abc&#39; //打开浏览器,然后直接改这里就可以实时看到文字变化效果了。
  }
 }
 }
</script>
<style>
 #test{
 color: red;
 }
</style>
ログイン後にコピー

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在vue中如何实现webpack打包优化

使用vue和react来实现展开收起等效果

在Vue 2.5.2下使用axios + express本地请求404的解决方法

以上がVue+webpackの基本構成を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

VUEのボタンに関数を追加する方法 VUEのボタンに関数を追加する方法 Apr 08, 2025 am 08:51 AM

HTMLテンプレートのボタンをメソッドにバインドすることにより、VUEボタンに関数を追加できます。 VUEインスタンスでメソッドを定義し、関数ロジックを書き込みます。

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

vue.jsでJSファイルを参照する方法 vue.jsでJSファイルを参照する方法 Apr 07, 2025 pm 11:27 PM

vue.jsでJSファイルを参照するには3つの方法があります。タグ;; mounted()ライフサイクルフックを使用した動的インポート。 Vuex State Management Libraryを介してインポートします。

VueでWatchの使用方法 VueでWatchの使用方法 Apr 07, 2025 pm 11:36 PM

Vue.jsの監視オプションにより、開発者は特定のデータの変更をリッスンできます。データが変更されたら、Watchはコールバック関数をトリガーして更新ビューまたはその他のタスクを実行します。その構成オプションには、すぐにコールバックを実行するかどうかを指定する即時と、オブジェクトまたは配列の変更を再帰的に聴くかどうかを指定するDEEPが含まれます。

Vueによる前のページに戻る方法 Vueによる前のページに戻る方法 Apr 07, 2025 pm 11:30 PM

vue.jsには、前のページに戻る4つの方法があります。$ router.go(-1)$ router.back()outes&lt; router-link to =&quot;/&quot; Component Window.history.back()、およびメソッド選択はシーンに依存します。

Vueはマーキー/テキストスクロール効果を実現します Vueはマーキー/テキストスクロール効果を実現します Apr 07, 2025 pm 10:51 PM

CSSアニメーションまたはサードパーティライブラリを使用して、VUEでマーキー/テキストスクロール効果を実装します。この記事では、CSSアニメーションの使用方法を紹介します。スクロールテキストを作成し、テキストを&lt; div&gt;をラップします。 CSSアニメーションを定義し、オーバーフローを設定します:非表示、幅、アニメーション。キーフレームを定義し、アニメーションの開始と終了時にtranslatex()を設定します。期間、スクロール速度、方向などのアニメーションプロパティを調整します。

Vueのバージョンを照会する方法 Vueのバージョンを照会する方法 Apr 07, 2025 pm 11:24 PM

Vue Devtoolsを使用してブラウザのコンソールでVueタブを表示することにより、Vueバージョンを照会できます。 NPMを使用して、「NPM List -G Vue」コマンドを実行します。 package.jsonファイルの「依存関係」オブジェクトでVueアイテムを見つけます。 Vue CLIプロジェクトの場合、「Vue -Version」コマンドを実行します。 &lt; script&gt;でバージョン情報を確認してくださいVueファイルを参照するHTMLファイルにタグを付けます。

Vue Multi-Page開発とはどういう意味ですか? Vue Multi-Page開発とはどういう意味ですか? Apr 07, 2025 pm 11:57 PM

VUEマルチページ開発は、VUE.JSフレームワークを使用してアプリケーションを構築する方法です。アプリケーションは別々のページに分割されます。コードメンテナンス:アプリケーションを複数のページに分割すると、コードの管理とメンテナンスが容易になります。モジュール性:各ページは、簡単に再利用および交換するための別のモジュールとして使用できます。簡単なルーティング:ページ間のナビゲーションは、単純なルーティング構成を介して管理できます。 SEOの最適化:各ページには独自のURLがあり、SEOに役立ちます。

See all articles