Vue サーバーに js 構成ファイルをインポートする方法

Vue サーバーに js 構成ファイルをインポートする方法

背景

プロジェクトにはローカル構成ファイルがあります:

// src/image-position.js
エクスポートデフォルト{
    ラベル: 'ホームページ',
    値: 'home'、
    データ: [
      {
        ラベル: 「カルーセル」、
        値: 'カルーセル'
      }
    ]
}

ローカル ファイルを参照する方法は誰でも知っています。

'./image-position.js' から ImagePosition をインポートします。

次に、image-position.js ファイルをサーバーにドロップし、そのリンクを取得する必要があります。

xxx.com/static/imag…

現時点では、当然ながら、ファイル アドレスを直接引用することは不可能です。

'https://xxx.com/static/image-position.js' から ImagePosition をインポートします。

// エラー この依存関係は見つかりませんでした

成し遂げる

まず、image-position.jsに小さな変更を加えて、グローバルオブジェクトImagePositionを公開します。

// 変更された image-position.js

(関数 (グローバル、ファクトリー) {
  typeof エクスポート === 'オブジェクト' && typeof モジュール !== '未定義' 
    ? module.exports = ファクトリー() 
    : typeof define === 'function' && define.amd 
    ? 定義(ファクトリー) 
    : (global = global || self、global.ImagePosition = factory());
}(これ、(関数() {
  '厳密な使用';
  
  戻る {
    ラベル: 'ホームページ',
    値: 'home'、
    データ: [
      {
        ラベル: 「カルーセル」、
        値: 'カルーセル'
      }
    ]
  };
})));

vue.config.js ファイルに外部を追加します。

モジュール.エクスポート = {
  Webpack の設定: config => {
    config.externals = {
      '画像の位置': '画像の位置'
   }
  }
}

index.html は環境を区別し、js ファイルをインポートします。

// 公開/index.html
<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1">
    <meta name="レンダラー" content="webkit">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1、最大スケール=1、ユーザースケーラブル=いいえ">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <本文>
    <div id="アプリ"></div>
    <!-- ビルドされたファイルは自動的に挿入されます -->
    <% if (NODE_ENV == 'production') { %>
      <script src="http://xxx.com/static/image-position.js"></script>
    <% } それ以外の場合は { %>
      <script src="http://test.xxx.com/static/image-position.js"></script>
    <% } %>
  </本文>
</html>

上記の手順を完了すると、image-position.js ファイルを問題なく参照できるようになります。

'image-position' から ImagePosition をインポートします
console.log(画像の位置)
// {ラベル: 'ホーム'、値: 'ホーム'、データ: [{ラベル: 'カルーセル'、値: 'カルーセル'}]}

vue-cli2.0での設定方法の補足

// ビルド/webpack.base.conf.js
モジュール.エクスポート = {
  外部: {
    // 'image-position' を追加: 'ImagePosition'
  }
}
// インデックス.html
<!DOCTYPE html>
<html>
  <ヘッド>
    <メタ文字セット="utf-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge,chrome=1">
    <meta name="レンダラー" content="webkit">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1、最大スケール=1、ユーザースケーラブル=いいえ">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <本文>
    <div id="アプリ"></div>
    <!-- ビルドされたファイルは自動的に挿入されます -->
    <% if (process.env == 'production') { %>
      <script src="http://xxx.com/static/image-position.js"></script>
    <% } それ以外の場合は { %>
      <script src="http://test.xxx.com/static/image-position.js"></script>
    <% } %>
  </本文>
</html>

要約する

Vue プロジェクトのパッケージ化ボリュームの最適化では、CDN アクセラレーションがよく使用される方法です。上記は、実際に CDN アクセラレーションの実装内容です。サードパーティのライブラリは、script タグを通じて導入され、パッケージ化された vendor.js ファイルのサイズが大幅に削減されます。

ローカル ファイルをリモートでサーバー上に配置したい場合、鍵となるのは実装プロセスの最初のステップです。残りの内容は、CDN アクセラレーションを構成するプロセスと同じです。

上記は、Vue がサーバー上の js 構成ファイルをインポートする方法の詳細です。Vue の js 構成ファイルのインポートの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Vue-cli3にvue.config.jsフォルダがなく、vueプロジェクトのドメイン名を設定する問題を解決します
  • vue.config.js を設定して静的フォルダ内の静的ファイルを処理する方法
  • Vue の Eslint 設定ファイル eslintrc.js の説明とルールの紹介
  • vue-cliのビルドフォルダにモックデータを設定するためのdev-server.jsファイルがありません
  • vue-cli スキャフォールディング ビルド ディレクトリ内の utils.js ツール構成ファイルの詳細な説明
  • vue-cli スキャフォールディング設定ディレクトリ内の index.js 設定ファイルのメソッド
  • vue-cli スキャフォールディング ビルド ディレクトリ内の dev-server.js 構成ファイルの詳細な説明
  • vue-cli の ESlint 設定ファイル eslintrc.js の詳細な説明

<<:  Linux で指定されたフォルダの各サブフォルダ内のファイル数を表示する

>>:  Dockerイメージをプライベートリポジトリにアップロードする方法の例

推薦する

ウェブデザインでは、まずウェブサイトの包括的なイメージの位置付けが必要です。

⑴ 内容によって形式が決まります。まず内容を充実させ、次にブロックに分割し、トーンを決め、最後に細部...

Win10 インストール Linux システム チュートリアル ダイアグラム

Windows システムに仮想マシンをインストールするには、 VMware Workstationソ...

Linuxでテキスト比較を実現するコツを教えます

序文コードを書く過程で、必然的にコードに何らかの変更を加えることになります。しかし、変更を加えるとき...

Div はフラッシュを覆います。フラッシュ透過方式により、フラッシュ上に DIV レイヤーを配置できます。

2つのタイプがあります: (異なるブラウザ) 1. IEブラウザで利用可能コードをコピーコードは次の...

MySQL 8.0.20でNavicatをインストールして接続する方法と注意すべき点

注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...

ネイティブ JS カプセル化 vue タブ切り替え効果

この記事の例では、ネイティブJSカプセル化vueタブ切り替えの具体的なコードを参考までに共有していま...

Docker ベースの GitLab 環境をデプロイする方法と手順

注意:仮想マシンのメモリは2G以上が推奨され、 Alibaba Cloudのアクセラレーションイメー...

初心者向け入門チュートリアル⑨:ポータルサイトの構築方法

さらに、ブログ プログラムで構築された記事 Web サイトは常にブログのように見え、カスタマイズでき...

vue+el-upload は複数ファイルの動的アップロードを実現します

vue+el-upload 複数ファイルの動的アップロード、参考までに具体的な内容は以下のとおりです...

VMware 仮想マシンのインストール Linux システムのグラフィック チュートリアル

この記事では、LinuxシステムのVMwareインストールの具体的な手順を参考までに紹介します。具体...

CSS で美しい時計アニメーション効果を実装するためのサンプルコード

仕事を探しています!!!事前準備:まず、このアニメーションは、以前のローディングアニメーションとクー...

Dockerコンテナでユーザーを切り替えるときに権限が不足する問題を解決する方法

Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...

Nginx プロキシ axios リクエストと注意事項

序文最近、小さなデモを作成しました。大規模な工場のオンライン データを使用したため、インターフェイス...

このようなシェル スクリプトを使用して、多数の MySQL データベースを強制終了します (推奨)

朝早くに電話で起こされました。あるプロジェクトのデータベースがダウンしていて起動できないとのことでし...