Nếu bạn làm điều này, các biến JavaScript sẽ tự động được chia sẻ giữa các tệp bạn liên kết trong HTML của mình [nó tồn tại trong biến
export { message, number, multiplyNumbers };
3 được chia sẻ toàn cầu]Nếu bạn đang ở trong NodeJS
const script = require["./script.js"];
Khi bạn làm điều này, các biến được chia sẻ, nhưng bạn cũng có thể chỉ định nội dung mà tệp JavaScript [mô-đun] trả về, với
export { message, number, multiplyNumbers };
4. Ví dụ, trong kịch bản. js.
module.exports = "Hello World";
Và sau đó, bạn có thể lấy giá trị trong tệp js chính của mình
const script = require["./script.js"]; console.log[script];
Và nó sẽ trở lại
Tôi hi vọng cái này giúp được
2 năm trướcđây là cách. Trong tệp đầu tiên, đặt một var
var variable = "something"
bây giờ trong tệp chính, hãy nhập nó
import { variable } from './path/to/FILENAME.js';
như vậy. Đặt tên tệp vào đó là
export { message, number, multiplyNumbers };
5Nó sẽ hoạt động2 năm trước
Bạn không cần nhập biến, nếu bạn có các thẻ script theo thứ tự, tôi nghĩ rằng các biến sẽ hoạt động trong mọi tệp js
2 năm trướcĐây là giao diện người dùng JS hay NodeJS? . Nếu bạn liên kết cả hai tệp trong tài liệu, bất kỳ biến nào được khai báo ở cấp cao nhất với
export { message, number, multiplyNumbers };
6 sẽ thuộc phạm vi chung được chia sẻ [export { message, number, multiplyNumbers };
3]. Đối với NodeJS, biến 1
const script = require["./script.js"];
Để bao gồm các biến và hàm này trong một tệp khác, hãy nói main. js, bạn có thể sử dụng từ khóa
export { message, number, multiplyNumbers };
8 như// import the variables and function from module.js
import { message, number, multiplyNumbers } from './modules.js';
console.log[message]; // hello world
console.log[number]; // 10
console.log[multiplyNumbers[3, 4]]; // 12
console.log[multiplyNumbers[5, 8]]; // 40
Để bao gồm một tệp khác, bạn phải xuất mã mà bạn muốn sử dụng trong một tệp khác bằng cách sử dụng câu lệnh
export { message, number, multiplyNumbers };
9. Ví dụ,export { message, number, multiplyNumbers };
Bạn cũng có thể xuất cá nhân. Ví dụ,
________số 8Để bao gồm mã từ một tệp khác, bạn phải sử dụng câu lệnh
export { message, number, multiplyNumbers };
8 và nhập bằng đường dẫn tệp. Ví dụ, Khai báo tĩnh
import { myExport } from "/modules/my-module.js";
7 được sử dụng để nhập các liên kết trực tiếp chỉ đọc được xuất bởi một mô-đun khác. Các liên kết đã nhập được gọi là các liên kết trực tiếp vì chúng được cập nhật bởi mô-đun đã xuất liên kết, nhưng không thể sửa đổi bởi mô-đun nhậpĐể sử dụng khai báo
import { myExport } from "/modules/my-module.js";
7 trong tệp nguồn, tệp phải được bộ thực thi diễn giải dưới dạng mô-đun. Trong HTML, điều này được thực hiện bằng cách thêm import { myExport } from "/modules/my-module.js";
9 vào thẻ 20. Các mô-đun được diễn giải tự động ở chế độ nghiêm ngặt
module.exports = "Hello World";
Ngoài ra còn có một
21 động giống như chức năng, không yêu cầu tập lệnh của
module.exports = "Hello World";
import { myExport } from "/modules/my-module.js";
9cú pháp
5
module.exports = "Hello World";
23
module.exports = "Hello World";
Tên sẽ đề cập đến xuất khẩu mặc định từ mô-đun. Phải là một mã định danh JavaScript hợp lệ
24
module.exports = "Hello World";
Mô-đun để nhập từ. Việc đánh giá của specifier được chỉ định bởi máy chủ. Đây thường là một URL tương đối hoặc tuyệt đối tới tệp
25 chứa mô-đun. Trong Node, nhập khẩu không có phần mở rộng thường đề cập đến các gói trong
module.exports = "Hello World";
26. Một số gói có thể cho phép nhập tệp không có phần mở rộng; . Chỉ cho phép Chuỗi trích dẫn đơn và trích dẫn kép
module.exports = "Hello World";
27
module.exports = "Hello World";
Tên của đối tượng mô-đun sẽ được sử dụng như một loại không gian tên khi đề cập đến việc nhập. Phải là một mã định danh JavaScript hợp lệ
28
module.exports = "Hello World";
Tên hàng hóa xuất khẩu được nhập khẩu. Tên có thể là một mã định danh hoặc một chuỗi ký tự, tùy thuộc vào những gì
24 khai báo để xuất. Nếu nó là một chuỗi ký tự, thì nó phải được đặt bí danh cho một mã định danh hợp lệ
module.exports = "Hello World";
30
const script = require["./script.js"]; console.log[script];
Tên sẽ đề cập đến nhập khẩu được đặt tên. Phải là một mã định danh JavaScript hợp lệ
Sự miêu tả
Các khai báo
import { myExport } from "/modules/my-module.js";
7 chỉ có thể xuất hiện trong các mô-đun và chỉ ở cấp cao nhất [i. e. không bên trong các khối, chức năng, v.v. ]. Nếu gặp phải khai báo import { myExport } from "/modules/my-module.js";
7 trong ngữ cảnh không phải mô-đun [ví dụ: thẻ 20 không có
module.exports = "Hello World";
import { myExport } from "/modules/my-module.js";
9, 35,
const script = require["./script.js"]; console.log[script];
36, tất cả đều có "tập lệnh" hoặc "phần thân hàm" làm mục tiêu phân tích cú pháp], thì một
const script = require["./script.js"]; console.log[script];
37 sẽ bị ném. Để tải các mô-đun trong ngữ cảnh không phải mô-đun, hãy sử dụng cú pháp nhập động thay thế
const script = require["./script.js"]; console.log[script];
Khai báo
import { myExport } from "/modules/my-module.js";
7 được thiết kế cứng nhắc về mặt cú pháp [ví dụ: chỉ các trình xác định chuỗi ký tự, chỉ được phép ở cấp cao nhất, tất cả các ràng buộc phải là định danh], cho phép các mô-đun được phân tích và liên kết tĩnh trước khi được đánh giá. Đây là chìa khóa để làm cho các mô-đun không đồng bộ về bản chất, cung cấp năng lượng cho các tính năng như chờ cấp cao nhấtCó bốn hình thức khai báo
import { myExport } from "/modules/my-module.js";
7- nhập khẩu được đặt tên.
30var variable = "something"
- Nhập khẩu mặc định.
31var variable = "something"
- nhập không gian tên.
32var variable = "something"
- Nhập tác dụng phụ.
33var variable = "something"
Dưới đây là các ví dụ để làm rõ cú pháp
nhập khẩu được đặt tên
Đưa ra một giá trị có tên là
34 đã được xuất từ mô-đun
var variable = "something"
35 hoặc ngầm định là
var variable = "something"
36] hoặc rõ ràng bằng cách sử dụng câu lệnh
var variable = "something"
37, điều này sẽ chèn
var variable = "something"
34 vào phạm vi hiện tại
var variable = "something"
import { myExport } from "/modules/my-module.js";
Bạn có thể nhập nhiều tên từ cùng một mô-đun
2
module.exports = "Hello World";
Bạn có thể đổi tên một bản xuất khi nhập nó. Ví dụ: điều này chèn
39 vào phạm vi hiện tại
var variable = "something"
3
const script = require["./script.js"]; console.log[script];
Một mô-đun cũng có thể xuất một thành viên dưới dạng một chuỗi ký tự không phải là mã định danh hợp lệ, trong trường hợp đó, bạn phải đặt bí danh cho nó để sử dụng nó trong mô-đun hiện tại
3
var variable = "something"
7
import { variable } from './path/to/FILENAME.js';
Ghi chú.
70 không tương đương với
import { variable } from './path/to/FILENAME.js';
71 và sau đó phá hủy
import { variable } from './path/to/FILENAME.js';
72 và
import { variable } from './path/to/FILENAME.js';
73 từ
import { variable } from './path/to/FILENAME.js';
23. Nhập khẩu được đặt tên và mặc định là các cú pháp riêng biệt trong các mô-đun JavaScript
module.exports = "Hello World";
Nhập khẩu mặc định
Xuất mặc định cần được nhập với cú pháp nhập mặc định tương ứng. Phiên bản đơn giản nhất nhập trực tiếp mặc định
3
const script = require["./script.js"];
Vì xuất khẩu mặc định không chỉ định tên rõ ràng, bạn có thể cung cấp cho định danh bất kỳ tên nào bạn muốn
Cũng có thể chỉ định nhập mặc định với nhập không gian tên hoặc nhập có tên. Trong những trường hợp như vậy, nhập mặc định sẽ phải được khai báo trước. Ví dụ
4
const script = require["./script.js"];
hoặc
5
const script = require["./script.js"];
Nhập tên có tên là
75 có tác dụng tương tự như nhập mặc định. Cần phải đặt bí danh vì
import { variable } from './path/to/FILENAME.js';
75 là một từ dành riêng
import { variable } from './path/to/FILENAME.js';
8
const script = require["./script.js"];
nhập không gian tên
Đoạn mã sau chèn
77 vào phạm vi hiện tại, chứa tất cả các bản xuất từ mô-đun nằm ở
import { variable } from './path/to/FILENAME.js';
78
import { variable } from './path/to/FILENAME.js';
import { myExport } from "/modules/my-module.js";
0Ở đây,
77 đại diện cho một đối tượng không gian tên chứa tất cả các bản xuất dưới dạng thuộc tính. Ví dụ: nếu mô-đun được nhập ở trên bao gồm một
import { variable } from './path/to/FILENAME.js';
30 xuất, bạn sẽ gọi nó như thế này
const script = require["./script.js"];
import { myExport } from "/modules/my-module.js";
177 là một đối tượng được niêm phong với nguyên mẫu
import { variable } from './path/to/FILENAME.js';
32. Tất cả các khóa đều có thể đếm được theo thứ tự từ điển [i. e. hành vi mặc định của
const script = require["./script.js"];
33], với xuất mặc định có sẵn dưới dạng khóa có tên là
const script = require["./script.js"];
75
import { variable } from './path/to/FILENAME.js';
Ghi chú. JavaScript không có nhập ký tự đại diện như
35, vì khả năng xung đột tên cao
const script = require["./script.js"];
Nhập một mô-đun chỉ cho các tác dụng phụ của nó
Chỉ nhập toàn bộ mô-đun cho các tác dụng phụ mà không cần nhập bất kỳ thứ gì. Điều này chạy mã chung của mô-đun, nhưng không thực sự nhập bất kỳ giá trị nào
import { myExport } from "/modules/my-module.js";
2Điều này thường được sử dụng cho các polyfill, làm thay đổi các biến toàn cục
ví dụ
nhập khẩu tiêu chuẩn
Trong ví dụ này, chúng tôi tạo một mô-đun có thể tái sử dụng để xuất một hàm lấy tất cả các số nguyên tố trong một phạm vi nhất định
import { myExport } from "/modules/my-module.js";
3import { myExport } from "/modules/my-module.js";
4Các giá trị đã nhập chỉ có thể được sửa đổi bởi nhà xuất khẩu
Mã định danh đang được nhập là một ràng buộc trực tiếp, vì mô-đun xuất nó có thể thay đổi nó và giá trị đã nhập sẽ thay đổi. Tuy nhiên, mô-đun nhập nó không thể gán lại nó