2016-11-16 36 views
0

去关Angular2教程,为了使在内存中后台的正常工作,有必须在系统config.ts包设置如下:如何修改Angular-cli的配置以允许内存后端?

packages: { 
'app': { main: './main.js', defaultExtension: 'js' }, 
'api' : { defaultExtension : 'js' }, 
'rxjs': { defaultExtension: 'js' }, 
} 

我已经把一个Angular2应用,我正在使用Angular-api捆绑生产。但是,Angular-api使用webpack,它似乎没有可比较的配置文件来设置默认扩展。我的应用程序可以建立并没有错误送达,但加载页面我的数据时抓住服务是无功能的,我得到了以下错误:

error_handler.js:47EXCEPTION: unable to parse url './projects'; original error: Cannot read property 'split' of undefined

有埋内的一些角度,CLI配置文件node_modules文件夹,但似乎没有包含软件包或默认扩展名。我会非常感激任何帮助。

+0

如果您使用的是CLI生产和开发它是不是我不明白?如果你正在使用angular-cli,这是一个简单的解决方案。 –

+0

意图是使用CLI进行生产。它似乎正在缩小和正确捆绑一切,我只有在内存后端数据服务的问题。 – calebjmatthews

+0

你有没有在package.json中安装软件包?你应该在“依赖关系”下面看到一行:“angular-in-memory-web-api”:“^ 0.1.15”。 –

回答

0

CLI已知与内存中的角度web-api不兼容,或者更具体地说,它如何使用core-js。如果你通过你的日志在控制台上,你会看到这样的错误:

Cannot find type definition file for 'core-js'. 

为了解决这个问题,这样做:

  1. 安装核心-JS打字:NPM安装--save @ types/core-js
  2. 编辑tsconfig.json并将“lib”值设置为“es5”。它应该是这样的:

{ "compilerOptions": { "declaration": false, "emitDecoratorMetadata": true, "experimentalDecorators": true, "lib": ["es5", "dom"], "mapRoot": "./", "module": "es6", "moduleResolution": "node", "outDir": "../dist/out-tsc", "sourceMap": true, "target": "es5", "typeRoots": [ "../node_modules/@types" ] } }

相关问题