2015-11-07 38 views
10

ES6 sözdizimini kullanmak da dahil olmak üzere, ReactJS.Net ürününün başarılı bir şekilde çalışmasını sağlarım.ReactJS.net - ES6 modüllerini nasıl kullanırım?

Babel kullanan varsayılan Jsx dönüştürme boru hattını kullanıyorum. Tarayıcıda kaynağa bakıyorum ES6 kodunun, ReactJS.Net

tarafından ES5'e dönüştürüldüğünü görebiliyorum Modülleri çalıştıramadım.

Uncaught ReferenceError: exports is not defined 
Uncaught ReferenceError: require is not defined 

nasıl ES6 Modülleri kullanırım:

tarayıcı bana 2 hataları veriyor?

En basit örnek:

Lib.js

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

UserOfLib.js

import { square } from 'Lib'; 
console.log(square(11)); 

(tarayıcı kaynağına bakarak) bu dönüştürülmüş Gets the:

Lib:

// @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:

// @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 

cevap

9

Halen ReactJS.Net işlemez modülleri. Modülleri kullanmak isterseniz, modülleri JavaScript'in alt kısmına derlemek için Webpack veya Browserify gibi bir modül paketi kullanmanız gerekir. ReactJS.NET'deki modüllere yönelik desteğin uygulanması, bağımlılık ve yükleme modüllerinin doğru sırada ele alınması gerektiğinden ve Webpack gibi iyi test edilmiş çözümlerin zaten mevcut olması nedeniyle önemsiz bir iş miktarıdır.

+1

Bu ikisi JSX işleme ile birlikte kullanılabilir mi? –