Error Description: I built the project on VsCode using “ionic cordova build ios --prod”, opened it in XCode (project.xcworkspace) and deployed it to an iPhone. However, when I open the app it gets stuck on a blank page. I debugged it using safari’s development tool and I got the following error on console: "Error: cannot find module “.” ".
What I’ve tried: I researched the error and tried a couple solution, but no luck.
- Changed typescript version to “~2.6.2”, “2.6.2”, “2.8.3”
- Removed “^” from typescript version;
- Changed app-script version to “3.1.9”, “3.2.1”, “3.2.2”, “3.2.3”
- Went through my imports to see if any of them had “/udm”, but none of them do;
- Also tried different XCode versions: 8, 9, 10 and 12;
- Tried adding different versions of ios platform: 4.5.0, 4.5.5, 5.0.1, 5.1.0 and the latest;
Here are some links I visited, had no luck with their solutions though:
- Build in "prod" mode: Cannot find module "."
- Ionic 3: Build in “prod” mode: Cannot find module “.”
- Runtime Error - Cannot Find Module "."
- How can I resolve Ionic Uncaught Error: Cannot find module “.” when adding new page?
Info:
ionic/cli-utils : 1.9.2 ionic (Ionic CLI) : 3.9.2
global packages:
Cordova CLI : 10.0.0
local packages:
@ionic/app-scripts : 3.2.4
Cordova Platforms : ios 5.1.0
Ionic Framework : ionic-angular 3.9.2
System:
ios-deploy : 1.11.3
Node : v14.15.0
npm : 6.14.8
OS : macOS High Sierra
Xcode : Xcode 9.2 Build version 9C40b
Package.json:
{
"name": "name",
"version": "0.0.1",
"author": "author",
"homepage": "https://homepage.com",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
"dependencies": {
"@angular/animations": "5.2.11",
"@angular/common": "5.2.11",
"@angular/compiler": "5.2.11",
"@angular/compiler-cli": "5.2.11",
"@angular/core": "5.2.11",
"@angular/forms": "5.2.11",
"@angular/http": "^7.2.10",
"@angular/platform-browser": "5.2.11",
"@angular/platform-browser-dynamic": "5.2.11",
"@grpc/grpc-js": "^1.1.7",
"@ionic-native/app-availability": "^4.20.0",
"@ionic-native/app-version": "^4.15.0",
"@ionic-native/barcode-scanner": "^4.9.0",
"@ionic-native/camera": "^4.7.0",
"@ionic-native/core": "4.7.0",
"@ionic-native/file": "^4.20.0",
"@ionic-native/file-path": "^4.7.0",
"@ionic-native/fingerprint-aio": "^4.20.0",
"@ionic-native/firebase": "^4.20.0",
"@ionic-native/firebase-crashlytics": "^5.30.0",
"@ionic-native/header-color": "^4.17.0",
"@ionic-native/http": "^4.20.0",
"@ionic-native/in-app-browser": "^3.1.0",
"@ionic-native/ionic-webview": "^5.0.0",
"@ionic-native/pin-dialog": "^4.20.0",
"@ionic-native/push": "^3.14.0",
"@ionic-native/social-sharing": "^4.15.0",
"@ionic-native/splash-screen": "4.7.0",
"@ionic-native/status-bar": "^4.7.0",
"@ionic-native/vibration": "^4.8.0",
"@ionic/storage": "2.1.3",
"angularfire2": "^5.4.2",
"brmasker-ionic-3": "^1.5.3",
"cordova-ios": "4.5.5",
"cordova-plugin-appavailability": "^0.4.2",
"cordova-plugin-headercolor": "^1.0.0",
"cordova-plugin-inappbrowser": "^3.1.0",
"cordova-plugin-ionic-webview": "^4.1.3",
"cordova-plugin-pin-dialog": "^0.1.3",
"cordova-plugin-splashscreen": "6.0.0",
"cordova-plugin-statusbar": "^2.4.3",
"cordova-plugin-vibration": "^3.1.1",
"cordova-plugin-whitelist": "1.3.4",
"crypto-js": "^3.1.9-1",
"firebase": "^7.2.4",
"ionic-angular": "3.9.2",
"ionic-stepper": "^1.1.0",
"ionicons": "3.0.0",
"ngx-barcode": "^0.2.4",
"ngx-qrcode2": "0.0.9",
"onesignal-cordova-plugin": "^2.11.1",
"rxjs": "^6.4.0",
"rxjs-compat": "^6.4.0",
"semver": "^7.3.2",
"sw-toolbox": "^3.6.0",
"zone.js": "0.8.26"
},
"devDependencies": {
"@ionic/app-scripts": "3.2.4",
"@types/node": "7.0.7",
"cordova-android": "^8.0.0",
"cordova-plugin-advanced-http": "^3.1.0",
"cordova-plugin-androidx": "^3.0.0",
"cordova-plugin-androidx-adapter": "^1.1.1",
"cordova-plugin-app-version": "^0.1.12",
"cordova-plugin-camera": "^4.1.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-file": "^6.0.2",
"cordova-plugin-filepath": "^1.5.6",
"cordova-plugin-fingerprint-aio": "git+https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio.git#f8e5588011506b4a386cbfa16346cd6b5ab85349",
"cordova-plugin-firebase-lib": "^5.1.1",
"cordova-plugin-ionic-keyboard": "2.0.5",
"cordova-plugin-x-socialsharing": "^5.4.1",
"es6-promise-plugin": "^4.2.2",
"phonegap-plugin-barcodescanner": "^8.0.0",
"typescript": "3.2.4"
},
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-vibration": {},
"cordova-plugin-headercolor": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-pin-dialog": {},
"cordova-plugin-inappbrowser": {},
"cordova-plugin-appavailability": {},
"onesignal-cordova-plugin": {},
"cordova-plugin-camera": {
"ANDROID_SUPPORT_V4_VERSION": "27.+"
},
"cordova-plugin-filepath": {},
"cordova-plugin-file": {},
"cordova-plugin-advanced-http": {},
"cordova-plugin-ionic-webview": {
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
},
"cordova-plugin-fingerprint-aio": {
"FACEID_USAGE_DESCRIPTION": "Confirme sua digital"
},
"cordova-plugin-firebase-lib": {},
"cordova-plugin-androidx": {},
"cordova-plugin-androidx-adapter": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-device": {},
"cordova-plugin-app-version": {},
"cordova-plugin-ionic-keyboard": {},
"phonegap-plugin-barcodescanner": {},
"cordova-plugin-x-socialsharing": {
"PHOTO_LIBRARY_ADD_USAGE_DESCRIPTION": "This app requires photo library access to function properly.",
"PHOTO_LIBRARY_USAGE_DESCRIPTION": "This app requires photo library access to function properly."
},
"cordova-plugin-splashscreen": {}
},
"platforms": [
"ios"
]
}
}