簡體   English   中英

無法使用Javascript中的Object.defineProperty導出變量

[英]Variables cannot be exported with Object.defineProperty in Javascript

我正在嘗試使用以下語法將變量從一個JS文檔導出到另一個:

  var a = 1;
  "use strict";

 Object.defineProperty(exports, "__esModule", {
 value: true
});
exports.a = a;

請注意,我正在使用jQuery作為庫。 當我將以上代碼放入document.ready函數中時,瀏覽器返回以下錯誤:

  jquery-3.3.1.min.js:2 Uncaught ReferenceError: exports is not defined
    at HTMLDocument.<anonymous> (index.js:1560)
    at l (jquery-3.3.1.min.js:2)
    at c (jquery-3.3.1.min.js:2)

我是否需要安裝預處理器或語法有問題?

因此,答案是您需要一個模塊捆綁器來處理模塊導入中的導出。 在nodeJS中,您可以使用commonJS模塊語法:

// test.js
module.exports = function () {};

// main.js
var test = require('./test');

但是nodeJS是用於編寫服務器代碼的一部分。 如果要在瀏覽器中運行代碼,則應查找webpack。 以webpack為例,您可以使用ES6語法編寫模塊:

// test.js
export default function () {}

// main.js
import test from './test';

請了解有關webpack的信息: https ://webpack.js.org/concepts/對其進行任何項目設置都不是那么困難。

對於webpack,您將需要為您的應用創建入口點並定義小型配置。 其余的將由該庫處理,而且webpack要求在計算機上安裝NodeJ。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM