Simplify ReactRenderer API when referencing default modules

This commit is contained in:
SteveSandersonMS
2015-11-02 20:23:05 -08:00
parent 7e1955c6fe
commit 0c59f670b2
5 changed files with 7 additions and 4 deletions

View File

@@ -27,7 +27,7 @@ module.exports = {
renderToString: function(callback, options) {
var resolvedPath = path.resolve(process.cwd(), options.moduleName);
var requestedModule = require(resolvedPath);
var component = requestedModule[options.exportName];
var component = options.exportName ? requestedModule[options.exportName] : requestedModule;
if (!component) {
throw new Error('The module "' + resolvedPath + '" has no export named "' + options.exportName + '"');
}

View File

@@ -12,6 +12,10 @@ namespace Microsoft.AspNet.NodeServices.React
nodeScript = new StringAsTempFile(script); // Will be cleaned up on process exit
}
public static Task<string> RenderToString(INodeServices nodeServices, string moduleName, string baseUrl) {
return RenderToString(nodeServices, moduleName, /* exportName */ null, baseUrl);
}
public static async Task<string> RenderToString(INodeServices nodeServices, string moduleName, string exportName, string baseUrl) {
return await nodeServices.InvokeExport(nodeScript.FileName, "renderToString", new {
moduleName,