首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactJS.net -如何使用ES6模块

ReactJS.net -如何使用ES6模块
EN

Stack Overflow用户
提问于 2015-11-07 21:19:36
回答 1查看 2.8K关注 0票数 12

我已经成功运行了ReactJS.Net,包括使用ES6语法。

我使用的是默认的Jsx转换管道,它使用Babel。查看浏览器中的源代码,我可以看到ES6代码已被ReactJS.Net转换为ES5

我一直无法让模块工作。

浏览器给了我两个错误:

代码语言:javascript
复制
Uncaught ReferenceError: exports is not defined
Uncaught ReferenceError: require is not defined

如何使用ES6模块?

最简单的例子:

Lib.js

代码语言:javascript
复制
export function square(x) {
    return x * x;
}

UserOfLib.js

代码语言:javascript
复制
import { square } from 'Lib';
console.log(square(11)); 

转换为此(查看浏览器源):

Lib:

代码语言:javascript
复制
// @hash v3-AD133907ABEC5D32B3768A3AF2301FC9
// Automatically generated by ReactJS.NET. Do not edit, your changes will be overridden.
// Version: 2.0.1 (build 5e9476a)
// Generated at: 08-Nov-15 6:40:26 AM
///////////////////////////////////////////////////////////////////////////////
Object.defineProperty(exports, "__esModule", {
    value: true
});
exports.square = square;

function square(x) {
    return x * x;
}

UserOfLib:

代码语言:javascript
复制
// @hash v3-812C209AFED25C2B4507E5769B0D899B
// Automatically generated by ReactJS.NET. Do not edit, your changes will be overridden.
// Version: 2.0.1 (build 5e9476a)
// Generated at: 08-Nov-15 6:40:26 AM
///////////////////////////////////////////////////////////////////////////////
var _Lib = require('Lib');

console.log((0, _Lib.square)(11)); // 121
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-07 21:54:16

目前,ReactJS.Net不处理模块。如果您想使用模块,您需要使用像Webpack或Browserify这样的模块绑定器来将模块编译成普通的JavaScript。在ReactJS.NET本身中实现对模块的支持是一项重要的工作,因为它需要以正确的顺序处理依赖关系和加载模块,并且已经存在像Webpack这样经过良好测试的解决方案。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33587900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档