mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
Work around a webpack bundling fail in transitions by using full imports.
It seems Webpack can't discover aliased modules that relative-import other aliased modules e.g. "ui/transition", aliased to "ui/transition/transition.android", not discovering "./slide-transition" which is aliased to "ui/transition/slide-transition.android.js"
This commit is contained in:
@ -156,16 +156,19 @@ export function _setAndroidFragmentTransitions(navigationTransition: frameModule
|
||||
var transition: definition.Transition;
|
||||
if (name) {
|
||||
if (name.indexOf("slide") === 0) {
|
||||
var slideTransitionModule = require("./slide-transition");
|
||||
//HACK: Use an absolute import to work around a webpack issue that doesn't resolve relatively-imported "xxx.android/ios" modules
|
||||
var slideTransitionModule = require("ui/transition/slide-transition");
|
||||
var direction = name.substr("slide".length) || "left"; //Extract the direction from the string
|
||||
transition = new slideTransitionModule.SlideTransition(direction, navigationTransition.duration, navigationTransition.curve);
|
||||
}
|
||||
else if (name === "fade") {
|
||||
var fadeTransitionModule = require("./fade-transition");
|
||||
//HACK: Use an absolute import to work around a webpack issue that doesn't resolve relatively-imported "xxx.android/ios" modules
|
||||
var fadeTransitionModule = require("ui/transition/fade-transition");
|
||||
transition = new fadeTransitionModule.FadeTransition(navigationTransition.duration, navigationTransition.curve);
|
||||
}
|
||||
else if (name.indexOf("flip") === 0) {
|
||||
var flipTransitionModule = require("./flip-transition");
|
||||
//HACK: Use an absolute import to work around a webpack issue that doesn't resolve relatively-imported "xxx.android/ios" modules
|
||||
var flipTransitionModule = require("ui/transition/flip-transition");
|
||||
var direction = name.substr("flip".length) || "right"; //Extract the direction from the string
|
||||
transition = new flipTransitionModule.FlipTransition(direction, navigationTransition.duration, navigationTransition.curve);
|
||||
}
|
||||
@ -394,4 +397,4 @@ export class Transition implements definition.Transition {
|
||||
public toString(): string {
|
||||
return `${types.getClass(this)}@${this._id}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -106,14 +106,16 @@ export function _createIOSAnimatedTransitioning(navigationTransition: frame.Navi
|
||||
if (name.indexOf("slide") === 0) {
|
||||
let direction = name.substr("slide".length) || "left"; //Extract the direction from the string
|
||||
if (!slideTransitionModule) {
|
||||
slideTransitionModule = require("./slide-transition");
|
||||
//HACK: Use an absolute import to work around a webpack issue that doesn't resolve relatively-imported "xxx.android/ios" modules
|
||||
slideTransitionModule = require("ui/transition/slide-transition");
|
||||
}
|
||||
|
||||
transition = new slideTransitionModule.SlideTransition(direction, navigationTransition.duration, nativeCurve);
|
||||
}
|
||||
else if (name === "fade") {
|
||||
if (!fadeTransitionModule) {
|
||||
fadeTransitionModule = require("./fade-transition");
|
||||
//HACK: Use an absolute import to work around a webpack issue that doesn't resolve relatively-imported "xxx.android/ios" modules
|
||||
fadeTransitionModule = require("ui/transition/fade-transition");
|
||||
}
|
||||
|
||||
transition = new fadeTransitionModule.FadeTransition(navigationTransition.duration, nativeCurve);
|
||||
@ -128,4 +130,4 @@ export function _createIOSAnimatedTransitioning(navigationTransition: frame.Navi
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user