From 68c9a90226d0e2efc6fade7f8dd4bbb595b4e66e Mon Sep 17 00:00:00 2001 From: vakrilov Date: Thu, 16 Apr 2015 17:00:21 +0300 Subject: [PATCH] Fix: Device-specific code behinf JS files are not loaded --- ui/frame/frame-common.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ui/frame/frame-common.ts b/ui/frame/frame-common.ts index a569761a6..cf448ef3f 100644 --- a/ui/frame/frame-common.ts +++ b/ui/frame/frame-common.ts @@ -47,10 +47,13 @@ function resolvePageFromEntry(entry: definition.NavigationEntry): pages.Page { var moduleNamePath = fs.path.join(currentAppPath, entry.moduleName); var moduleExports; - - if (fs.File.exists(moduleNamePath + ".js")) { - trace.write("Loading JS file: " + moduleNamePath + ".js", trace.categories.Navigation); - moduleExports = require(moduleNamePath); + var moduleExportsResolvedPath = resolveFilePath(moduleNamePath, "js"); + if (moduleExportsResolvedPath) { + trace.write("Loading JS file: " + moduleExportsResolvedPath, trace.categories.Navigation); + + // Exclude extension when doing require. + moduleExportsResolvedPath = moduleExportsResolvedPath.substr(0, moduleExportsResolvedPath.length - 3) + moduleExports = require(moduleExportsResolvedPath); } if (moduleExports && moduleExports.createPage) { @@ -70,7 +73,7 @@ function resolvePageFromEntry(entry: definition.NavigationEntry): pages.Page { } var fileNameResolver: fileResolverModule.FileNameResolver; -function resolveFilePath(path, ext) { +function resolveFilePath(path, ext) : string { if (!fileNameResolver) { fileNameResolver = new fileResolverModule.FileNameResolver({ width: platform.screen.mainScreen.widthDIPs,