我正尝试使用以下语法将变量从一个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)
我是否需要安装预处理程序,或者我的语法有问题?
答案 0 :(得分:0)
所以答案是您需要一个模块捆绑器来处理模块导入中的导出。在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。