Katia
Katia

Reputation: 629

Loading SystemJS in html ends up with error in PhantomJS

I'm using PhantomJS to setup CI for jasmine tests. I'm facing the problem with including SystemJS in my html page. I removed everything from it, just left javascript and still facing the same error:

ReferenceError: Can't find variable: System

Here is the example of html:

 <!DOCTYPE html>
 <html>
    <head>
    </head>
    <body>
        <script src="lib/systemjs/dist/system.src.js">   </script>
        <script>
            System.config({
                baseURL: './lib'

            });
      </script>
   </body>
 </html>

I ran it in console like that: phantomjs test.js http://localhost:8080.

test.js contains following code:

var page = require('webpage').create();
page.open(system.args[1], function(status)
{
    phantom.exit(0);
});

It looks like it doesn't see system.src.js. I tried to put there absolute path - but still the same error. Also tried with page.injectJs - no good either.

Upvotes: 0

Views: 135

Answers (1)

Katia
Katia

Reputation: 629

After some time I found an answer and I want to share it, maybe someone will find it useful. I logged page.outerHTML and saw that instead of script with system.src.js I've got additional script with system-polyfills.js. It looked like that:

<script src="lib/systemjs/dist/system.src.js"></script>
<script type="text/javascript" src="http://127.0.0.1:8080/lib/systemjs/dist/system-polyfills.js">

So I've just added missing system-polyfills.js to the following folder and it fixed the error. Although I still have no idea where it came from.

Upvotes: 1

Related Questions