如何将ngx-restangular添加到angular-seed?

时间:2017-12-10 19:58:37

标签: javascript angular webpack angular-seed

我有一个使用mgechev/angular-seed2muchcoffeecom/ngx-restangular构建的骨架应用程序。我想整合它们,但我找不到解决方法如何做到这一点。

在我成功向project.config.ts添加少量软件包之前,只需按照angular-seed文档。

这是一个工作正常的配置:

...
  # tools/config/project.config.ts 

  let additionalPackages: ExtendPackages[];
  additionalPackages = [ {
      name: 'angular2-jwt',
      path: 'node_modules/angular2-jwt',
      packageMeta: {
          defaultExtension: 'js',
      }
  }, {
      name: 'ngx-progressbar',
      path: 'node_modules/ngx-progressbar/bundles/ngx-progressbar.umd.js',
  }, {
      name: 'ng2-charts',
      path: 'node_modules/ng2-charts/bundles/ng2-charts.umd.min.js'
  }, {
      name:'ngx-bootstrap',
      path:'node_modules/ngx-bootstrap/bundles/ngx-bootstrap.umd.min.js'
  }, {
      name:'ngx-bootstrap/*',
      path:'node_modules/ngx-bootstrap/bundles/ngx-bootstrap.umd.min.js'
  }, {
      name:'ng2-select-compat',
      path:'node_modules/ng2-select-compat/bundles/ng2-select-compat.umd.min.js'
  }, {
      name:'ngx-avatar',
      path:'node_modules/ngx-avatar/ngx-avatar.umd.js'
  }];
...

但是当我试图添加ngx-restangular时:

...
# tools/config/project.config.ts 

const additionalPackages: ExtendPackages[] = [
    {
        name: 'ngx-restangular',
        path: 'node_modules/ngx-restangular/dist/esm/src/',
        packageMeta: {
            defaultExtension: 'js',
            main: './index.js',
        }
    }];
...

应用程序抛出错误:

(index):60 SyntaxError: Unexpected token < at eval (<anonymous>)

在浏览器网络标签中,我可以看到正在加载ngx-restangular个文件:

  • index.js
  • ngx-restangular.module.js
  • NGX-restangular.js
  • ngx-restangular-http.js
  • NGX-restangular.config.js
  • ngx-restangular-config.factory.js
  • NGX-restangular-helper.js

Link到Github存储库。 要在您的本地环境中运行,请简单克隆/ fork和npm install && npm start

Link配置文件project.config.ts

1 个答案:

答案 0 :(得分:2)

从这看:

Error: SyntaxError: Unexpected token <

它似乎试图解析html 404响应。它很可能试图访问它无法找到的文件。我看到你正在使用.umd.js。这是否在您的配置文件中正确配置?像这样:

additionalPackages.forEach(function (pkgName) {
 packages['@angular/' + pkgName] = { main: 'bundle/'+ pkgName + '.umd.js', defaultExtension: 'js' };
}

我在这里传递的链接也许有些帮助。希望这有帮助!