Mari kita bincangkan tentang sebab dan penyelesaian mengapa projek vue tidak dapat mengenali fail js asli

PHPz
Lepaskan: 2023-04-17 10:40:13
asal
2703 orang telah melayarinya

Dengan pembangunan berterusan teknologi bahagian hadapan, semakin ramai pembangun mula menggunakan Vue untuk membina aplikasi web. Vue ialah rangka kerja JavaScript yang sangat baik, tetapi apabila menggunakan Vue, anda mungkin menghadapi beberapa masalah, seperti projek Vue tidak dapat mengecam fail JavaScript asli. Artikel ini akan menerangkan punca dan penyelesaian kepada masalah ini.

1. Penerangan Masalah

Dalam projek Vue, kami biasanya perlu memperkenalkan beberapa fail JavaScript untuk melaksanakan fungsi tertentu. Tetapi kadangkala, kami mendapati bahawa projek Vue tidak dapat mengenali fail JavaScript asli ini, menyebabkan kami tidak dapat menggunakan fungsi atau pembolehubah dalam fail ini. Berikut adalah contoh khusus.

Kami mempunyai fail JavaScript bernama utils.js dengan kandungan berikut:

function showMessage() {
  alert('Hello World!')
}
Salin selepas log masuk

Pada ketika ini, kami memperkenalkan fail ini dalam komponen Vue:

<script src="./utils.js"></script>
Salin selepas log masuk

Tetapi apabila kami memanggil fungsi showMessage, kami menerima ralat "showMessage is not definition":

<button @click="showMessage()">点击按钮</button>

Uncaught ReferenceError: showMessage is not defined
Salin selepas log masuk

Ralat ini memberitahu kami bahawa projek Vue tidak dapat mengecam fungsi showMessage dalam fail. Jadi, bagaimana masalah ini timbul?

2. Punca masalah

Projek Vue tidak dapat mengenali fail JavaScript asli kerana Vue menggunakan alat pembungkusan Webpack dan Webpack hanya boleh membungkus dan mengecam jenis fail tertentu secara lalai, seperti . vue, .js, .css, dsb. Dalam erti kata lain, jika kami terus memperkenalkan fail JavaScript asli ke dalam projek Vue, Webpack tidak akan dapat menghuraikan fail dengan betul.

3. Penyelesaian

Sekarang kita tahu punca masalah, mari perkenalkan beberapa penyelesaian.

  1. Membungkus fail JavaScript asli

Untuk menggunakan fail JavaScript asli dalam projek Vue, kami perlu membungkusnya ke dalam format yang boleh dikenali oleh Webpack. Webpack menyokong menggunakan pelbagai pemuat untuk membungkus dan mengenal pasti jenis fail yang berbeza Untuk fail JavaScript asli, kami boleh menggunakan pemuat babel untuk pembungkusan dan penukaran.

Langkah-langkahnya adalah seperti berikut:

1) Pasang babel-loader dan babel-core

npm install babel-loader babel-core --save-dev
Salin selepas log masuk

2) Tambah kod berikut dalam fail konfigurasi Webpack:

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['env']
        }
      }
    }
  ]
}
Salin selepas log masuk

3) Perkenalkan fail berpakej ke dalam komponen Vue

import showMessage from 'path/to/bundled/utils.js'
Salin selepas log masuk
  1. Terus tulis kod js ke dalam fail .vue

Jika anda tidak mahu menggunakan babel -loader untuk penukaran pembungkusan, anda juga boleh menulis kod JavaScript terus dalam komponen Vue:

<template>
  <div>
    <button @click="showMessage()">点击按钮</button>
  </div>
</template>

<script>
  export default {
    methods: {
      showMessage(){
        alert('Hello World!')
      }
    }
  }
</script>
Salin selepas log masuk

Kaedah ini lebih mudah dan sesuai untuk projek kecil atau situasi di mana keperluannya tidak sangat kompleks.

4. Ringkasan

Artikel ini terutamanya memperkenalkan masalah dan penyelesaian kepada masalah yang projek Vue tidak dapat mengenali fail JavaScript asli. Jika anda menghadapi masalah yang sama, anda boleh cuba menggunakan pemuat babel untuk penukaran pembungkusan, atau benamkan kod terus ke dalam komponen Vue. Saya harap artikel ini dapat membantu anda, terima kasih kerana membaca!

Atas ialah kandungan terperinci Mari kita bincangkan tentang sebab dan penyelesaian mengapa projek vue tidak dapat mengenali fail js asli. 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