2017-02-09 65 views
0

这里是我的进口index.html的app.module.ts 404(未找到)在角2 systemjs

<script src="https://unpkg.com/core-js/client/shim.min.js"></script> 

    <script src="https://unpkg.com/[email protected]?main=browser"></script> 
    <script src="https://unpkg.com/[email protected]/dist/system.src.js"></script> 
    <script src="https://cdn.rawgit.com/angular/angular.io/b3c65a9/public/docs/_examples/_boilerplate/systemjs.config.web.js"></script> 
    <script> 
     System.import('main.js').catch(function(err){ console.error(err); }); 
    </script> 

我得到错误:应用程序/ app.module.ts 404 (未找到)

这是我的文件夹意象结构:

- app 
    - app.module.ts 
    - app.compontent.ts 
- main.ts 

奇怪的是,当everyting是相同的文件夹下(像这样):

- angular2 
    - app 
    - app.module.ts 
    - app.compontent.ts 
    - main.ts 

现在一切正常。这是为什么?

main.ts文件:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 
import { AppModule }    from './app/app.module'; 

platformBrowserDynamic().bootstrapModule(AppModule); 

tsconfig

{ 
    "compilerOptions": { 
    "baseUrl": "", 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["es6", "dom"], 
    "mapRoot": "./", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc", 
    "sourceMap": true, 

    "inlineSources": true, 

    "target": "es5", 
    "typeRoots": [ 
     "../node_modules/@types" 
    ] 

    } 
} 

回答

0

我相信这是因为 './' 开始在项目的根目录下。也许当您删除angular2文件夹时,根目录已更改,因此main.ts导入无法找到应用程序目录

+0

都能跟得上。奇怪.... – AngularOne

0

要导入.ts文件,您需要在程序包配置中配置默认​​扩展名。

SystemJS.config({ 
    packages: { 
    "app": { 
     "defaultExtension": "ts" 
    } 
    } 
}); 

然而,在你的榜样,你似乎是进口main.js这是在你指定的目录结构赔率当你写

  • app
    • app.module.ts
    • app.compontent.ts
  • main.ts