2016-04-14 2 views
0

У меня возникли проблемы с конфигурацией SystemJSПеремещение angular2 приложения для GlassFish от VS2015

У меня есть рабочее angular2 приложения в VS2015 (asp.net ядро ​​1,0). Я могу скомпилировать файлы .ts и внести изменения и никаких ошибок не произошло.

Теперь я хотел бы переместить приложение в веб-проект Glassfish 4.1 (действующий как производственный сервер), но когда я перемещаю все содержимое wwwroot (все .js) из VS2015 в папку с веб-сайтом из морской рыбы, я представленный многочисленными 404-ми годами.

здесь является файлом по Index.html, который я использую в VS2015:

<!DOCTYPE html> 
<html> 
<head> 
    <base href="/"> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <link rel="icon" href="data:;base64,iVBORwOKGO=" /> 
    <title>Procurement v1.0</title> 
    <link src="libs/css/bootstrap.min.css" rel="stylesheet" /> 
    <link href="libs/css/case1.css" rel="stylesheet" /> 
    <!-- 1. Load libraries --> 
    <script src="libs/es6-shim.min.js"></script> 
    <script src="libs/system-polyfills.js"></script> 
    <script src="libs/angular2-polyfills.js"></script> 
    <script src="libs/system.js"></script> 
    <script src="libs/Rx.js"></script> 
    <script src="libs/angular2.dev.js"></script> 
    <script src="libs/router.dev.js"></script> 
    <script src="libs/http.dev.js"></script> 
    <script src="libs/jquery.js"></script> 
    <script src="libs/bootstrap.js"></script> 
    <!-- 2. Configure SystemJS --> 
    <script> 
     System.config({ 
      packages: { 
       appScripts: { 
        defaultExtension: 'js' 
       }, 
       '@ngrx/store': { 
        main: 'index.js', 
        format: 'cjs' 
       } 
      }, 
      map: { 
       '@ngrx/store': 'libs/storedist' 
      } 
     }); 
    </script> 
    <script> 
     System.import('appScripts/app') 
       .then(null, console.error.bind(console)); 
    </script> 
</head> 
<body> 
    <router-app>Loading...</router-app> 
</body> 
</html> 

Когда я скопировал содержимое Wwwroot к Glassfish мне нужно префикс всех сценариев с именем веб-архива (APPOCase1a) для распознавания скриптов. Мне также пришлось использовать CDN для system.js, поскольку он вообще не распознавался. Я также должен был изменить System.import, чтобы указать на фактический файл .js приложения для того, чтобы признать, что приводит к следующему index.html на Glassfish:

<!DOCTYPE html> 
<html> 
<head> 
    <base href="/"> 
    <meta charset="utf-8" /> 
    <meta name="viewport" content="width=device-width" /> 
    <link rel="icon" href="data:;base64,iVBORwOKGO=" /> 
    <title>Procurement v1.0</title> 
    <link href="/APPOCase1a/libs/css/bootstrap.css" rel="stylesheet" /> 
    <link href="/APPOCase1a/libs/css/case1.css" rel="stylesheet" /> 
    <!-- 1. Load libraries --> 
    <script src="/APPOCase1a/libs/es6-shim.min.js"></script> 
    <script src="/APPOCase1a/libs/system-polyfills.js"></script> 
    <script src="/APPOCase1a/libs/angular2-polyfills.js"></script> 
    <script src="https://code.angularjs.org/tools/system.js"></script> 
    <script src="/APPOCase1a/libs/Rx.js"></script> 
    <script src="/APPOCase1a/libs/angular2.dev.js"></script> 
    <script src="/APPOCase1a/libs/router.dev.js"></script> 
    <script src="/APPOCase1a/libs/http.dev.js"></script> 
    <script src="/APPOCase1a/libs/jquery.js"></script> 
    <script src="/APPOCase1a/libs/bootstrap.js"></script> 
    <!-- 2. Configure SystemJS --> 
    <script> 
     System.config({ 
      packages: { 
       '@ngrx/store': { 
        main: 'index.js', 
        format: 'cjs' 
       } 
      }, 
      map: { 
       '@ngrx/store': 'libs/storedist' 
      } 
     }); 
    </script> 
    <script> 
     System.import('/APPOCase1a/appScripts/app.js') 
       .then(null, console.error.bind(console)); 
    </script> 
</head> 
<body> 
    <router-app>Loading...</router-app> 
</body> 
</html> 

Вот что я вижу в браузера консоль:

Navigated to http://localhost:8080/APPOCase1a/ 
system.src.js:4597 GET http://localhost:8080/APPOCase1a/appScripts/product/product-home.component 404 (Not Found)I @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneAwarePromise @ angular2-polyfills.js:589(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 
system.src.js:4597 GET http://localhost:8080/APPOCase1a/appScripts/home/home.component 404 (Not Found)I @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneAwarePromise @ angular2-polyfills.js:589(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 
system.src.js:4597 GET http://localhost:8080/APPOCase1a/appScripts/po/po-generator-home.component 404 (Not Found)I @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneAwarePromise @ angular2-polyfills.js:589(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 
system.src.js:4597 GET http://localhost:8080/APPOCase1a/appScripts/vendor/vendor-home.component 404 (Not Found)I @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneAwarePromise @ angular2-polyfills.js:589(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 
system.src.js:4597 GET http://localhost:8080/APPOCase1a/appScripts/store/reducers 404 (Not Found)I @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneAwarePromise @ angular2-polyfills.js:589(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 
angular2-polyfills.js:332 Error: XHR error (404 Not Found) loading http://localhost:8080/APPOCase1a/appScripts/product/product-home.component(…)ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 
system.src.js:4597 GET http://localhost:8080/libs/storedist/index.js 404 (Not Found)I @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneAwarePromise @ angular2-polyfills.js:589(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597(anonymous function) @ system.src.js:4597ZoneDelegate.invoke @ angular2-polyfills.js:332Zone.run @ angular2-polyfills.js:227(anonymous function) @ angular2-polyfills.js:576ZoneDelegate.invokeTask @ angular2-polyfills.js:365Zone.runTask @ angular2-polyfills.js:263drainMicroTaskQueue @ angular2-polyfills.js:482ZoneTask.invoke @ angular2-polyfills.js:434 

Поскольку я нуб на этот материал, мне интересно, если есть более простой способ порт это приложение, или исправить конфигурацию. Любое понимание было бы оценено.

ответ

0

После мастерить с этим в течение нескольких часов, я обнаружил, что это был

<base href="/"> 

тег, который был завинчивания меня. После удаления этого приложения частично работает сейчас, но я все еще получаю 404 на html-шаблонах и img-файлах сейчас. Я буду исследовать дальше.

Смежные вопросы