nuxt.jsサービス端末レンダリング中axiosとproxyエージェントの配置操作
npm axiosが必要ですか?
最初は普通のvue SPAのようにnpm axiosが必要だと思いましたが、このような方式は確かに有効です。しかし、使う時は不便です。特にプロキシを設定するのが面倒で、asyncDataでは普通のmethodsとは違っています。
その後、nuxtのgithubでnuxtはデフォルトでaxiosに統合されていることが分かりました。だからnpm axiosは必要ないですが、適切な配置が必要です。
以上は百度の到着で、いつも間違いを報告することを発見して、今ネット上の教程は完全に水掛け論で、npm axiosはインストールする必要がないので、しかし@nuxtjs/axiosはインストールします。
ステップ1:
npmインストール@nuxtjs/axios、ファイルのルートディレクトリの下でインストールして、命令は下記の通りです。
npm install@nuxtjs/axios
ステップ2:
nuxt.com fig.jsファイルにaxiosとproxyエージェントを配置すると、以下の図のようになる。
コピーしてもいいです
コンポーネントに使う
ずっと以来、開発環境と生産環境のデータインターフェースのドメイン名が違って、いつも困っています。
毎回テストバッグやオンラインバッグをします。手でドメイン名を変えなければなりません。多くの人のやり方はこれと似ていると信じています。以下のようにします。
(あなたはすでに気づいています。このファイルはもう私の非情な削除されました。私は自分の新しい大陸を見つけましたので)
包装するたびにコメントを切り替えます。受け入れられますが、忘れたり間違えたりしやすいです。この設定ファイルを探して半日を探します。
私のこのような反応が鈍く、頭がよく短絡する人にとっては苦痛です。
ちょっと痛いです。解決方法を求めます。
第一歩:cross-envをインストールする(このミニパッケージは環境変数を設定するscriptsを提供することができます)
npm i cross-env-D
ステップ2:BASE_を配置するURLとNODE_ENV
私たちはpackage.jsonを持っているのではないですか?中にはスクリプトの対象がありますか?
cross-envは、プラットフォームにまたがって環境変数を設定し、使用することができますので、私達は異なるコマンド(npm run xxx)を実行する時に、対応するBASE_を設定します。URL(基本ドメイン名)とNODE_ENV(環境変数)
必ず注意してください。命令は必ず最後に書いてください。例えば、私の上のnuxt、nuxt start、nuxt buildなど。そうでないとnpm run時にエラーが発生します。
異なるコマンドを実行すると自動的に異なるBASE_を設定します。URLとNODE_ENV
npm run dev/BASE_URL=https://devpc.17wawawa.com NODE_ENV=development
npm run test/BASE_URL=https://test.17wawawa.com NODE_ENV=プロデュース
npm run generate/BASE_URL=https://www.17wawawa.com NODE_ENV=プロデュース
上のコードをそのままコピーしないでください。各項目のBASE_のためです。URLは普通は違っています。自分のプロジェクトのインターフェースに変えてドメインを要求します。
ステップ3:nuxt.com fig.jsを設定します。
package.jsonの中のscripts配置が完了したら、nuxt.co.nfig.jsに行ってenvを配置してください。公式文書です。
使うのが一番簡単で、直接process.env.BASE_を書きます。URLでいいです。例えば、私たちのaxiosプロファイルにprocess.env.BASE_を使います。URL
あるいはあなたが任意のページでconsolie.logs(process.env.BASE_)URL)全部プリントできます。
これ以降は、異なるパッケージコマンドを実行するだけで自動的にBASE_を設定することができます。URLとNODE_ENVです。頻繁なコメントとコメントをキャンセルして、スマートにあなたのif...elseを削除します。baseUrlのファイルを設定してください。
以上のnuxt.jsサービスエリアでのaxiosとproxyエージェントの配置操作は、小編集が皆さんに提供しているすべての内容を共有しています。
最初は普通のvue SPAのようにnpm axiosが必要だと思いましたが、このような方式は確かに有効です。しかし、使う時は不便です。特にプロキシを設定するのが面倒で、asyncDataでは普通のmethodsとは違っています。
その後、nuxtのgithubでnuxtはデフォルトでaxiosに統合されていることが分かりました。だからnpm axiosは必要ないですが、適切な配置が必要です。
以上は百度の到着で、いつも間違いを報告することを発見して、今ネット上の教程は完全に水掛け論で、npm axiosはインストールする必要がないので、しかし@nuxtjs/axiosはインストールします。
ステップ1:
npmインストール@nuxtjs/axios、ファイルのルートディレクトリの下でインストールして、命令は下記の通りです。
npm install@nuxtjs/axios
ステップ2:
nuxt.com fig.jsファイルにaxiosとproxyエージェントを配置すると、以下の図のようになる。
コピーしてもいいです
import pkg from './package'
export default {
mode: 'universal',
/*
** Headers of the page
*/
head: {
title: pkg.name,
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: pkg.description }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
/*
** Customize the progress-bar color
*/
loading: { color: '#fff' },
/*
** Global CSS
*/
css: [
'iview/dist/styles/iview.css'
],
/*
** Plugins to load before mounting the App
*/
plugins: [
'@/plugins/iview'
],
/*
** Nuxt.js modules
*/
modules: [
'@nuxtjs/axios'
],
axios: {
proxy: true, //
prefix: '/api', // url /api
credentials: true //
},
proxy: {
'/api': {
target: 'https://www.apiopen.top', //
pathRewrite: {
'^/api': '/', // /api /
changeOrigin: true //
}
}
},
/*
** Build configuration
*/
build: {
/*
** You can extend webpack config here
*/
extend(config, ctx) {
},
vendor: ['axios'] //
}
}
ステップ3:コンポーネントに使う
<template>
<div>my</div>
</template>
<script>
export default {
created () {
this.allList()
},
methods: {
allList () {
this.$axios.post(`/novelSearchApi?name= `).then(res => {
console.log(res)
})
}
}
}
</script>
<style scoped>
</style>
補足知識:nuxt.js配置BASE_URL(基本ドメイン名)とNODE_ENV(環境変数)ずっと以来、開発環境と生産環境のデータインターフェースのドメイン名が違って、いつも困っています。
毎回テストバッグやオンラインバッグをします。手でドメイン名を変えなければなりません。多くの人のやり方はこれと似ていると信じています。以下のようにします。
(あなたはすでに気づいています。このファイルはもう私の非情な削除されました。私は自分の新しい大陸を見つけましたので)
包装するたびにコメントを切り替えます。受け入れられますが、忘れたり間違えたりしやすいです。この設定ファイルを探して半日を探します。
私のこのような反応が鈍く、頭がよく短絡する人にとっては苦痛です。
ちょっと痛いです。解決方法を求めます。
第一歩:cross-envをインストールする(このミニパッケージは環境変数を設定するscriptsを提供することができます)
npm i cross-env-D
ステップ2:BASE_を配置するURLとNODE_ENV
私たちはpackage.jsonを持っているのではないですか?中にはスクリプトの対象がありますか?
// package.json
{
"scripts": {
"dev": "cross-env BASE_URL=https://devpc.17wawawa.com NODE_ENV=development nuxt",
"start": "cross-env BASE_URL=https://devpc.17wawawa.com NODE_ENV=production nuxt start",
"build": "cross-env BASE_URL=https://www.17wawawa.com NODE_ENV=production nuxt build",
"test": "cross-env BASE_URL=https://test.17wawawa.com NODE_ENV=production nuxt generate",
"generate": "cross-env BASE_URL=https://www.17wawawa.com NODE_ENV=production nuxt generate"
},
}
まずcross-envを書いて、BASE_を配置します。URLとNODE_ENV,cross-envは、プラットフォームにまたがって環境変数を設定し、使用することができますので、私達は異なるコマンド(npm run xxx)を実行する時に、対応するBASE_を設定します。URL(基本ドメイン名)とNODE_ENV(環境変数)
必ず注意してください。命令は必ず最後に書いてください。例えば、私の上のnuxt、nuxt start、nuxt buildなど。そうでないとnpm run時にエラーが発生します。
異なるコマンドを実行すると自動的に異なるBASE_を設定します。URLとNODE_ENV
npm run dev/BASE_URL=https://devpc.17wawawa.com NODE_ENV=development
npm run test/BASE_URL=https://test.17wawawa.com NODE_ENV=プロデュース
npm run generate/BASE_URL=https://www.17wawawa.com NODE_ENV=プロデュース
上のコードをそのままコピーしないでください。各項目のBASE_のためです。URLは普通は違っています。自分のプロジェクトのインターフェースに変えてドメインを要求します。
ステップ3:nuxt.com fig.jsを設定します。
package.jsonの中のscripts配置が完了したら、nuxt.co.nfig.jsに行ってenvを配置してください。公式文書です。
// nuxt.config.js
module.exports = {
mode: 'universal',
env: {
BASE_URL: process.env.BASE_URL,
NODE_ENV: process.env.NODE_ENV
}
}
ステップ4:どうやって使うか使うのが一番簡単で、直接process.env.BASE_を書きます。URLでいいです。例えば、私たちのaxiosプロファイルにprocess.env.BASE_を使います。URL
あるいはあなたが任意のページでconsolie.logs(process.env.BASE_)URL)全部プリントできます。
これ以降は、異なるパッケージコマンドを実行するだけで自動的にBASE_を設定することができます。URLとNODE_ENVです。頻繁なコメントとコメントをキャンセルして、スマートにあなたのif...elseを削除します。baseUrlのファイルを設定してください。
以上のnuxt.jsサービスエリアでのaxiosとproxyエージェントの配置操作は、小編集が皆さんに提供しているすべての内容を共有しています。