Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Bagaimanakah vue tidak boleh mendedahkan beberapa konfigurasi? Perkongsian kemahiran konfigurasi

Bagaimanakah vue tidak boleh mendedahkan beberapa konfigurasi? Perkongsian kemahiran konfigurasi

PHPz
Lepaskan: 2023-04-13 09:41:27
asal
983 orang telah melayarinya

Dengan populariti rangka kerja bahagian hadapan, Vue.js telah menjadi salah satu rangka kerja pilihan untuk membangunkan aplikasi Aplikasi Halaman Tunggal (SPA) dinamik. Salah satu kelebihan Vue.js ialah ia menyediakan pembangun dengan banyak pilihan konfigurasi, tetapi beberapa item konfigurasi tidak semestinya perlu didedahkan di luar projek Menyimpan item konfigurasi ini tidak terdedah akan membantu meningkatkan kecekapan keselamatan dan pembangunan projek. .

Artikel ini akan memperkenalkan beberapa petua tentang cara untuk tidak mendedahkan beberapa konfigurasi dalam Vue.js.

1. Gunakan fail .env untuk mengurus konfigurasi sensitif

Menggunakan fail konfigurasi yang berbeza dalam persekitaran pembangunan yang berbeza adalah keperluan yang sangat biasa dalam pembangunan bahagian hadapan. Vue.js menyediakan cara mudah untuk mengurus konfigurasi sensitif menggunakan fail .env. Fail

.env ialah fail yang disimpan dalam direktori akar projek Ia terdiri daripada satu siri pasangan nilai kunci Kekunci pasangan nilai kunci mesti diawali dengan VUE_APP_ untuk menunjukkan konfigurasi sensitif. . Dalam Vue.js, anda boleh menggunakan process.env untuk membaca pembolehubah persekitaran.

Sebagai contoh, kita boleh menambah kandungan berikut dalam fail .env:

VUE_APP_SECRET="this_is_a_secret"
Salin selepas log masuk

Buat fail bernama config.js dan tambahkan kod berikut di dalamnya:

const secret = process.env.VUE_APP_SECRET;
Salin selepas log masuk

Dengan cara ini, dalam persekitaran yang berbeza, kita hanya perlu menukar konfigurasi dalam fail .env untuk mengurus konfigurasi sensitif.

Tetapi harus diingat bahawa oleh kerana fail .env disimpan dalam teks yang jelas, beberapa maklumat sulit yang penting tidak seharusnya disimpan dalam fail.

2. Gunakan pemalam Vue untuk mengurus konfigurasi tidak sensitif

Selain konfigurasi sensitif, kami juga akan menghadapi beberapa konfigurasi tidak sensitif, seperti alamat API, laluan sumber statik , nama permohonan, dsb. Konfigurasi ini tidak melibatkan sebarang data sensitif dan boleh didedahkan dalam projek.

Vue.js menyediakan pemalam untuk mengurus konfigurasi tidak sensitif. Fungsi pemalam adalah untuk berkongsi fungsi tertentu secara global, seperti memperkenalkan perpustakaan luaran, menentukan pembolehubah global, dsb.

Ciri penting pemalam Vue ialah ia boleh diguna semula dan seperti komponen.

Berikut ialah contoh kod untuk melaksanakan pemalam yang dipanggil "AppModule":

const AppModule = {
  install(Vue) {
    Vue.prototype.$appName = 'myApp'; // 定义应用程序名称
    Vue.prototype.$apiUrl = 'http://api.myapp.com'; // 定义API url,可以在任何地方使用
  }
};
Salin selepas log masuk

Selepas memasang pemalam,

Vue.use(AppModule);
Salin selepas log masuk

Pada ketika ini , $appName dan $apiUrl boleh digunakan sepanjang projek. Sebagai contoh, kita boleh menggunakan pembolehubah global ini dalam komponen Vue:

export default {
  methods: {
    fetchData() {
      fetch(`${this.$apiUrl}/data`).then(res => res.json()).then(data => console.log(data));
    }
  }
}
Salin selepas log masuk

Dengan cara ini, kita boleh berkongsi beberapa konfigurasi antara komponen yang berbeza sambil memastikan kod itu jelas dan ringkas.

3. Gunakan konfigurasi asas Webpack untuk mengurus sumber statik

Dalam Vue.js, Webpack ialah alat binaan lalai Apabila kita perlu membungkus dan memproses sumber statik, Webpack juga yang kita perlukan untuk memberi perhatian kepada beberapa konfigurasi. Dalam konfigurasi asas ini, kita boleh menggunakan beberapa teknik biasa untuk mengurus beberapa konfigurasi awam dan konfigurasi sensitif. Berikut ialah kes pelaksanaan sebenar:

module.exports = {
  // ...其他webpack配置...
  plugins: [
    // 定义全局变量,可以在代码中使用 
    new webpack.DefinePlugin({
      'process.env': {
        VUE_APP_SECRET: JSON.stringify(process.env.VUE_APP_SECRET),
        VUE_APP_API_URL: JSON.stringify(process.env.VUE_APP_API_URL)
      }
    })
  ]
};
Salin selepas log masuk

Serpihan konfigurasi ini mengandungi pemprosesan beberapa maklumat sensitif yang dilindungi dan kami menggunakan DefinePlugin untuk menyuntiknya ke dalam kod. Kelebihan ini ialah kita tidak perlu lagi mengimport maklumat sensitif secara manual dalam fail .env, menjadikan kod lebih bersih.

Ringkasnya, Vue.js menyediakan banyak pilihan konfigurasi yang fleksibel Pada masa yang sama, kami juga boleh menggunakan beberapa teknik untuk memastikan beberapa item konfigurasi peribadi dan meningkatkan kecekapan keselamatan dan pembangunan projek.

Atas ialah kandungan terperinci Bagaimanakah vue tidak boleh mendedahkan beberapa konfigurasi? Perkongsian kemahiran konfigurasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan