Merge pull request #286 from NativeScript/feature/device-specific-code-behind

Fix: Device-specific code behind JS files are not loaded
This commit is contained in:
Alexander Vakrilov
2015-04-17 10:36:31 +03:00

View File

@ -47,10 +47,13 @@ function resolvePageFromEntry(entry: definition.NavigationEntry): pages.Page {
var moduleNamePath = fs.path.join(currentAppPath, entry.moduleName);
var moduleExports;
var moduleExportsResolvedPath = resolveFilePath(moduleNamePath, "js");
if (moduleExportsResolvedPath) {
trace.write("Loading JS file: " + moduleExportsResolvedPath, trace.categories.Navigation);
if (fs.File.exists(moduleNamePath + ".js")) {
trace.write("Loading JS file: " + moduleNamePath + ".js", trace.categories.Navigation);
moduleExports = require(moduleNamePath);
// 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,