【问题标题】:Deploy Angular 2 app to Parse.com将 Angular 2 应用程序部署到 Parse.com
【发布时间】:2016-04-06 21:34:21
【问题描述】:

当我在我的(打字稿)Angular 2 应用程序中运行我的 index.html 文件时,它也是 Parse.com 应用程序(它具有云和公共、parse.local 和 parse.project 目录等),它运行良好。但是当我尝试将它部署到 Parse.com 时,它并没有部署。

终端显示很多错误,提示 node_modules 文件夹中文件的文件名错误。

我的节点模块文件夹是否在错误的目录中?还是我需要根据 parse.com 删除所有文件名错误的文件?

这是我的项目文件结构:

这是从我的项目的根目录键入 parse deploy 后终端中的错误日志示例 - 实际的错误日志太大而无法粘贴整个内容。请注意,它说

打开文件 xxx - 打开的文件太多

打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/define-property.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/event-target.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/file-reader.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/functions.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/geolocation.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/mutation-observer.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/promise.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/property-descriptor.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/register-element.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/patch/websocket.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/utils.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/zone.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/lib/zones/long-stack-trace.js: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/node_modules/zone.js/package.json: 打开的文件太多 |打开 /Users/Ben/development/whatwegrowangular2/public/package.json:太 许多打开的文件|打开 /Users/Ben/development/whatwegrowangular2/public/tsconfig.json:太 许多打开的文件

这是来自同一终端的另一个错误示例:

错误的文件名:

node_modules/fsevents/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json |错误的文件名: node_modules/fsevents/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js |错误的文件名: node_modules/fsevents/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown |错误的文件名: node_modules/fsevents/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js |错误的文件名: node_modules/fsevents/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json |错误的文件名: node_modules/fsevents/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js |错误的文件名: node_modules/ua-parser-js/test/browser&mediaplayer-test.json 将 1 秒后重试

编辑:我将实际使用的节点模块移出 node_modules 文件夹并删除了 node_modules 文件夹。 index.html 文件仍然运行并且看起来很好。但是当我尝试部署到 parse.com 时,我现在收到此错误:

已完成上传文件部署失败并出现错误:您有 3029 托管文件,但限制为 500 将在 0 秒内重试。

【问题讨论】:

  • 您应该添加收到的错误消息。
  • @EricMartinez 现在已经做到了。干杯

标签: parse-platform typescript angular


【解决方案1】:

我必须通过我的 html 文件中的 CDN 脚本标签加载所有 node_modules,而不是通过在我的项目中拥有实际的 node_module 文件。

在这个阶段,我有这两个脚本标签,它有点工作(页面上的所有内容都是一个 angular 2 组件,它有一个引导危险按钮 - 它工作正常,只是加载有点慢):

<script src="https://code.angularjs.org/2.0.0-alpha.47/angular2.dev.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.18.4/system-csp-production.js"></script>

我在控制台中收到这些错误:

未捕获的 ReferenceError: 系统未定义 bootstrap.min.js:6 未捕获的错误:Bootstrap 的 JavaScript 需要 jQuery bundle.js:27364 Angular 2 正在开发模式下运行。调用 enableProdMode() 到 启用生产模式。 angular2.dev.js:138 http://whatwegrowangular2.parseapp.com/app/bundle.js 没有打电话 System.register 或 AMD 定义错误加载 http://whatwegrowangular2.parseapp.com/app/bundle.js

请在我的 index.html 文件中包含任何其他 cdn 脚本标签进行评论,以消除所有错误。谢谢。

这是我的完整 index.html 文件:

<html>
  <head>
    <title>Angular 2 QuickStart</title>
    <!-- 1. Load libraries -->
    <script src="https://code.angularjs.org/2.0.0-alpha.47/angular2.dev.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.18.4/system-csp-production.js"></script>


    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
    <!-- 2. Configure SystemJS -->
    <script>
      System.config({
        packages: {        
          app: {
            format: 'register',
            defaultExtension: 'js'
          }
        }
      });
      System.import('app/bundle')
            .then(null, console.error.bind(console));
    </script>
  </head>
  <!-- 3. Display the application -->
  <body>
    <my-app>Loading...</my-app>
  </body>
</html>

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 2017-01-31
    • 1970-01-01
    • 2018-04-21
    • 2017-12-06
    • 1970-01-01
    • 2017-07-30
    • 2017-07-28
    • 2016-09-29
    相关资源
    最近更新 更多