I am currently using SystemJS to dynamically import custom modules at runtime as part of a plugin system. I have succeeded in the initial import, however, my approach quickly fails when trying to import dependency packages from https://unpkg.com/.
I have uploaded a simple, isolated sample to Plnkr to demonstrate my issue, in the hopes that someone will be able to help me figure out the cause and a subsequent solution.
SystemJS.config({
paths: {
'npm:': 'https://unpkg.com/'
},
map: {
'rxjs': 'npm:rxjs'
}
});
SystemJS.import('rxjs')
.then(function () {
console.log('rxjs has been loaded');
})
.catch(function (error) {
console.error(error);
});
When running, if you look in the console output or network tracing (I have also written some of the output to the web page), you will see a series of GET requests to the unpkg server to download packages that I assume are required by rxjs (the package I'm trying to import in my example to demonstrate the issue). I have tried re-mapping the internal libraries that it depends upon to a different URL that does not return 404, but that does not seem to have any effect. I have also tried manually browsing to the paths in the console output, and I can see that unpkg does indeed fail to find them. So I am guessing there is a mismatch somewhere with the dependency referencing triggered within SystemJS and the paths unpkg offers.
I am new to SystemJS, so it may simply be a misunderstanding on my part. Any help would be appreciated.
You can try binding it directly to the index file:
{ map: { 'rxjs': 'npm:rxjs/index', 'rxjs/*': 'npm:rxjs' } }
Worked for me with your Plunkr example.