Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ng cli构建的Angular 2应用程序的部署不起作用_Javascript_Angular_Nginx_Angular Cli - Fatal编程技术网

Javascript 使用ng cli构建的Angular 2应用程序的部署不起作用

Javascript 使用ng cli构建的Angular 2应用程序的部署不起作用,javascript,angular,nginx,angular-cli,Javascript,Angular,Nginx,Angular Cli,我使用的是v1.0.0-beta.32.3。我已经在本地测试了应用程序,一切正常。我已经准备好部署到Web服务器(nginx v1.10.1)。我已经建立了我的应用程序如下 ng build -prod 然后我安装并修改/etc/nginx/nginx.conf,如下所示。这是默认配置,但服务器\u名称和根值除外 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.p

我使用的是v1.0.0-beta.32.3。我已经在本地测试了应用程序,一切正常。我已经准备好部署到Web服务器(nginx v1.10.1)。我已经建立了我的应用程序如下

ng build -prod
然后我安装并修改/etc/nginx/nginx.conf,如下所示。这是默认配置,但
服务器\u名称
值除外

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

    index   index.html index.htm;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  mydomain.io www.mydomain.io;
        root         /data/myapp-www;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}
当我尝试访问该网站时,我收到以下消息

EXCEPTION: Uncaught (in promise): Error: DI Error Error: DI Error at e.d (http://www.mydomain.io/polyfills.d946e5067bfdbad71862.bundle.js:36:2213) at e [as constructor] (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:470:508) at e [as constructor] (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:926:228) at new e (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:926:555) at t._throwOrNull (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:1247:2766) at t._getByKeyDefault (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:1247:3104) at t._getByKey (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:1247:2485) at t.get (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:1247:848) at e.get [as _CookieService_62] (http://www.mydomain.io/main.d6b9261dcd8e4e58fa99.bundle.js:5:23993) at e.get [as _PersistenceService_63] (http://www.mydomain.io/main.d6b9261dcd8e4e58fa99.bundle.js:5:24234) at e.get [as _mydomainService_64] (http://www.mydomain.io/main.d6b9261dcd8e4e58fa99.bundle.js:5:24488) at e.getInternal (http://www.mydomain.io/main.d6b9261dcd8e4e58fa99.bundle.js:5:28132) at e.get (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:668:1102) at e.t.injectorGet (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:113:1750) at e.get (http://www.mydomain.io/vendor.92d15c6580f9163ad6fb.bundle.js:1254:350) t.handleError @ vendor.92d15c6….bundle.js:654 next @ vendor.92d15c6….bundle.js:456 e.object.o @ vendor.92d15c6….bundle.js:661 e.__tryOrUnsub @ vendor.92d15c6….bundle.js:1 e.next @ vendor.92d15c6….bundle.js:1 e._next @ vendor.92d15c6….bundle.js:1 e.next @ vendor.92d15c6….bundle.js:1 e.next @ vendor.92d15c6….bundle.js:8 e.emit @ vendor.92d15c6….bundle.js:661 t.triggerError @ vendor.92d15c6….bundle.js:379 onHandleError @ vendor.92d15c6….bundle.js:379 t.handleError @ polyfills.d946e50….bundle.js:36 n.runGuarded @ polyfills.d946e50….bundle.js:36 r @ polyfills.d946e50….bundle.js:36 i @ polyfills.d946e50….bundle.js:36
FWIW,我通过从切换到解决了这个问题。我从
angular2 cookie
声明并注入
CookieService
,这种依赖性引起了所有的头痛。当我简单地删除这个依赖项(并使用
ng2 cookies
来操作cookies)时,这个问题就消失了。我没有时间深入研究这个问题,但对我来说,我用这种方式解决了这个问题。

请考虑升级到NG CLI RC。我使用的版本有bug吗?每次我升级ng cli时,项目结构都会发生一些新的和/或不同的变化。@JaneWayne我知道这很令人沮丧,但它处于测试阶段。好吧,在将ng cli升级到v1.0.0-rc.1之后,我仍然会得到同样的结果。这次我使用http服务器(而不是nginx)进行本地测试。
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>My App</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
<link href="styles.4d956e5c8b5af5fd67b3.bundle.css" rel="stylesheet"/></head>
<body>
  <app-root></app-root>
<script type="text/javascript" src="inline.8ba963ff286f59f238cc.bundle.js"></script><script type="text/javascript" src="polyfills.d946e5067bfdbad71862.bundle.js"></script><script type="text/javascript" src="scripts.bb730b805dc244f77e93.bundle.js"></script><script type="text/javascript" src="vendor.92d15c6580f9163ad6fb.bundle.js"></script><script type="text/javascript" src="main.d6b9261dcd8e4e58fa99.bundle.js"></script></body>
</html>