Ionic 3集成cordova-plugin-connectsdk插件及投屏播放视频问题咨询
Hey there! As someone who’s worked with Ionic 3 and ConnectSDK before, I know that error can be super frustrating. Let’s break down why this happens and get your video casting setup up and running smoothly:
Why This Error Pops Up
The Cannot find module 'internal/util/types' issue is almost always a Node.js version compatibility problem. The older ConnectSDK Cordova plugin you’re trying to install relies on Node modules that were deprecated or removed in Node.js 12 and later. Ionic 3 also plays much nicer with older Node/Cordova versions, so that’s our first fix target.
Step-by-Step Solution
1. Check Your Current Node.js Version
First, confirm which Node version you’re running:
node -v
If you’re on v12.0.0 or higher, that’s the root cause. We’ll need to switch to a compatible version (Node.js 10.x is a stable, reliable choice here).
2. Use a Node Version Manager to Downgrade
To easily switch between Node versions, use nvm (for macOS/Linux) or nvm-windows (for Windows):
- Install the version manager if you don’t have it already
- Install Node.js 10.24.1 (a solid stable release):
nvm install 10.24.1 - Switch to this version:
nvm use 10.24.1
3. Clean Up Partial Installs
Before reinstalling, clear out any leftover files from the failed install:
# Remove the partially installed plugin ionic cordova plugin remove cordova-plugin-connectsdk # Delete node_modules and lock file to reset dependencies rm -rf node_modules package-lock.json # Reinstall your app's core dependencies npm install
4. Reinstall the ConnectSDK Plugin
Now install the specific version of the plugin that’s known to work with Ionic 3:
ionic cordova plugin add cordova-plugin-connectsdk@1.6.0
5. Verify Setup & Start Casting
Once installed successfully, you can start implementing casting features. Here’s a quick example of an Ionic service to discover casting devices:
import { Injectable } from '@angular/core'; // Declare the global ConnectSDK variable for TypeScript declare var ConnectSDK: any; @Injectable() export class CastService { constructor() {} startDeviceDiscovery() { // Initialize device discovery ConnectSDK.discoveryManager.startDiscovery(); // Listen for newly found casting devices ConnectSDK.discoveryManager.on("deviceAdded", (device) => { console.log("Found casting device:", device.friendlyName); // You can now connect to this device and start casting media }); } }
Extra Troubleshooting Tips
- Make sure your Cordova CLI version is compatible with Ionic 3—Cordova 8.x is ideal. Install it with:
npm install -g cordova@8.1.2 - Ensure you’ve added your target platform (Android/iOS) before installing the plugin:
ionic cordova platform add android # OR ionic cordova platform add ios
内容的提问来源于stack exchange,提问作者Rakesh Sharma

