@@ -67,13 +67,13 @@ function importModule(url) {
6767 * @param {string } url
6868 * @param {function(string) } callback
6969 */
70- function getContent ( url , callback ) {
70+ function getContent ( url , callback , error ) {
7171 var xhr = new XMLHttpRequest ( ) ;
7272 xhr . onload = function ( ) {
7373 if ( xhr . status >= 200 && xhr . status < 300 ) {
7474 callback ( xhr . responseText ) ;
7575 } else {
76- throw new VueifyJSError ( `Failed to load ${ url } !` ) ;
76+ error ( new VueifyJSError ( `Failed to load ${ url } !` ) ) ;
7777 }
7878 } ;
7979 xhr . open ( 'GET' , url , true ) ;
@@ -235,7 +235,9 @@ function findSFC(callback) {
235235 }
236236 }
237237
238- let ret = callback ( dom , url , name ) ;
238+ let ret = callback ( dom , url , name ) . catch ( ( e ) => {
239+ console . error ( e ) ;
240+ } ) ;
239241 if ( ret . __proto__ === Promise . prototype ) {
240242 promises . push ( ret ) ;
241243 }
@@ -251,11 +253,12 @@ function findSFC(callback) {
251253 * @return sfc_src
252254 */
253255function downloadSFC ( sfc_url ) {
254- // console.log(`download: ${sfc_url}`); // DEBUG
255- return new Promise ( resolve => {
256- getContent ( sfc_url , ( sfc_src ) => {
257- resolve ( sfc_src ) ;
258- } ) ;
256+ return new Promise ( ( resolve , reject ) => {
257+ getContent (
258+ sfc_url ,
259+ ( sfc_src ) => resolve ( sfc_src ) ,
260+ ( error ) => reject ( error )
261+ ) ;
259262 } ) ;
260263}
261264
@@ -305,7 +308,6 @@ async function preprocessCSS(sfc_obj) {
305308 // generate scopeId
306309 if ( ! _scopeId ) {
307310 _scopeId = genScopeId ( ) ;
308- // console.log("scopeId:", _scopeId); // DEBUG
309311 }
310312
311313 // create temporary iframe to hold & parse css text
@@ -320,7 +322,11 @@ async function preprocessCSS(sfc_obj) {
320322 external_txt = await new Promise ( ( resolve , reject ) => {
321323 if ( el . dom . hasAttribute ( 'src' ) ) {
322324 let path = el . dom . getAttribute ( 'src' ) ;
323- getContent ( resolveUrl ( path ) , ( content ) => resolve ( content ) ) ;
325+ getContent (
326+ resolveUrl ( path ) ,
327+ ( content ) => resolve ( content ) ,
328+ ( error ) => reject ( error )
329+ ) ;
324330 } else {
325331 resolve ( '' ) ;
326332 }
@@ -378,15 +384,18 @@ var cachedSFCs = {}; // { url : {blob_url, sfc_obj} }
378384 * @return input JS object
379385 */
380386async function preprocessJS ( sfc_obj , deps = [ ] ) {
381- // console.log('dependency stack', deps); // DEBUG
382387 var js = sfc_obj . js ;
383388
384389 // get content only from last script tag
385390 var el = js [ js . length - 1 ] ;
386391 var _jsText = await new Promise ( ( resolve , reject ) => {
387392 if ( el . dom . hasAttribute ( 'src' ) ) {
388393 let path = el . dom . getAttribute ( 'src' ) ;
389- getContent ( resolveUrl ( path ) , ( content ) => resolve ( content ) ) ;
394+ getContent (
395+ resolveUrl ( path ) ,
396+ ( content ) => resolve ( content ) ,
397+ ( error ) => reject ( error )
398+ ) ;
390399 } else {
391400 resolve ( '' ) ;
392401 }
@@ -400,7 +409,6 @@ async function preprocessJS(sfc_obj, deps=[]) {
400409 _jsText = await asyncStringReplace ( _jsText , re , async ( match , path , offset , txt ) => {
401410
402411 let child_sfc_url = resolveUrl ( path ) ;
403- // console.log(`found child: ${child_sfc_url}`); // DEBUG
404412
405413 // check cyclic dependency
406414 if ( deps . indexOf ( child_sfc_url ) != - 1 ) {
@@ -416,7 +424,6 @@ async function preprocessJS(sfc_obj, deps=[]) {
416424 // replace import statement from relative path to blob url
417425 let cache = await Promise . resolve ( cachedSFCs [ child_sfc_url ] ) ;
418426 new_str = match . replace ( path , cache . blob_url ) ;
419- // console.log(`${match} ====> ${new_str}`); // DEBUG
420427 return new_str ;
421428 } ) ;
422429
@@ -461,7 +468,6 @@ async function uploadSFC(sfc_code) {
461468 * @return {string, object }
462469 */
463470async function transpileSFC ( sfc_src , deps = [ ] ) {
464- // console.log('transpile:', deps[deps.length-1]); // DEBUG
465471 let sfc_obj = await parseSFC ( sfc_src ) ;
466472 await preprocessCSS ( sfc_obj ) ;
467473 await preprocessHTML ( sfc_obj ) ;
@@ -578,14 +584,12 @@ async function registerRootSFCs(VueClass) {
578584
579585 return async function ( ) {
580586 sfc_url = resolveUrl ( sfc_url ) ;
581- // console.log(`found: ${sfc_url}`); // DEBUG
582587
583588 await importSFC ( sfc_url , [ sfc_url ] ) ;
584589 let sfc_obj = await Promise . resolve ( cachedSFCs [ sfc_url ] ) ;
585590
586591 // register as global components
587592 if ( ! rootSFCs . includes ( sfc_obj ) ) {
588- // console.log(`register: ${sfc_url}`); // DEBUG
589593 rootSFCs . push ( sfc_obj ) ;
590594 new_sfcs . push ( sfc_obj ) ;
591595 sfc_obj . name = sfc_name ;
0 commit comments