Rumah > hujung hadapan web > tutorial js > Perbincangan ringkas tentang cara menggunakan sintaks import ES6 dalam Node.js

Perbincangan ringkas tentang cara menggunakan sintaks import ES6 dalam Node.js

青灯夜游
Lepaskan: 2021-08-09 19:42:02
ke hadapan
2773 orang telah melayarinya

Bagaimana untuk menggunakan sintaks import ES6 dalam

Node.js? Artikel ini akan memperkenalkan kepada anda cara menggunakan sintaks import ES6 dalam Node.js.

Perbincangan ringkas tentang cara menggunakan sintaks import ES6 dalam Node.js

Modul ialah fail JavaScript yang mengeksport satu atau lebih nilai. Nilai yang dieksport boleh menjadi pembolehubah, objek, atau fungsi.

Aplikasi Node.js terdiri daripada modul, dan sistem modul mereka mengguna pakai spesifikasi CommonJS, yang bukan bahagian rasmi spesifikasi bahasa JavaScript. [Pembelajaran yang disyorkan: "tutorial nodejs"]

Dalam CommonJS, terdapat kaedah global require() untuk memuatkan modul.

// 加载 path 模块
const path = require('path')
Salin selepas log masuk

Modul ECMAScript (dirujuk sebagai modul ES atau ESM) ialah modul yang ditambahkan pada spesifikasi bahasa JavaScript yang berusaha untuk menyatukan dan menyeragamkan cara modul dimuatkan dalam aplikasi JavaScript.

Sintaks import berikut terdiri daripada standard modul ES berikut untuk mengimport modul yang dieksport daripada fail JavaScript yang berbeza:

import XXX from 'xxx'
Salin selepas log masuk

Node.js tidak menyokong import langsung ES6. Cuba tulis import dalam fail JS Sintaks:

// index.js
import { sep } from 'path'

console.log('print: ', sep)
Salin selepas log masuk

Menjalankan Node.js menggunakan npm start atau npm run dev anda akan mendapat ralat berikut:

Perbincangan ringkas tentang cara menggunakan sintaks import ES6 dalam Node.js

Atur cara ranap kerana kami menggunakan sintaks modul ES untuk mengimport modul path.

Penyelesaian terpantas pada masa ini ialah kita boleh menggunakan kaedah disyorkan Node.js dan menetapkan package.json dalam fail "type": "module".

{
  "type": "module"
}
Salin selepas log masuk

Penyelesaian ini berfungsi dengan versi Node.js terkini 14.x.x dan ke atas (15.6.0 pada masa penulisan).

Perbincangan ringkas tentang cara menggunakan sintaks import ES6 dalam Node.js

Persekitaran dengan versi yang lebih rendah daripada Node v.14

Cara lain untuk menyelesaikan masalah ini ialah menggunakan Babel. Ia adalah pengkompil JavaScript yang membolehkan anda menulis JS menggunakan sintaks terkini. Ia boleh digunakan dalam mana-mana projek yang ditulis dalam JavaScript dan oleh itu juga dalam projek Node.js

Mula-mula pasang kebergantungan pembangun berikut dari tetingkap terminal:

$ npm i -D @babel/core @babel/preset-env @babel/node
Salin selepas log masuk

Kemudian dalam Cipta fail bernama babel.config.json dalam direktori akar projek Node.js dan tambah kandungan berikut:

module.exports = {
  "presets": ["@babel/preset-env"]
}
Salin selepas log masuk

@babel/node Pakej ialah utiliti CLI yang digunakan sebelum menjalankan projek Node.js Compile JS code dengan pratetap dan pemalam Babel. Ini bermakna ia akan membaca dan menggunakan sebarang konfigurasi yang disebut dalam babel.config.json sebelum melaksanakan projek Node.

Ganti babel-node dengan node untuk melaksanakan pelayan dalam skrip start atau dev.

Contoh penggunaan skrip npm run dev untuk menjalankan pelayan Node:

{
  "scripts": {
    "dev": "nodemon --exec babel-node server.js"
  }
}
Salin selepas log masuk

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Perbincangan ringkas tentang cara menggunakan sintaks import ES6 dalam Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.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