2016-10-26 8 views
2

私はTSとSystemJSで角度2を試しています。 私のフォルダの1つをsystem.config.jsにマップしたいと思います。SystemJS Configマップにフォルダを追加する方法は?

|_ app 
| |_ standalone 
| | |_ rest.service.js 
| | |_ rest.service.js.map 
| | |_ rest.service.ts 
| |_ app.module.ts 
|_ node_modules 
|_ system.config.js 

これは私がsystem.config.jsに持っているものの簡易版である:app.module.tsの私の輸入の

System.config({ 
     paths: { 
      'npm:': 'node_modules/' 
     }, 
     map: {   
      '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 
      'rxjs': 'npm:rxjs', 
      'stalone': 'app/standalone' 
     }, 
     packages: { 
      app: { 
       main: './main.js', 
       defaultExtension: 'js' 
      }, 
      stalone: { 
       defaultExtension: 'js' 
      }, 
      rxjs: { 
       defaultExtension: 'js' 
      } 
     } 
    }); 
})(this); 

つは、以下のとおりです。

import { RestService } from "stalone/rest.service"; 
import { NgModule } from "@angular/core"; 

「@ angular.core "は問題なくインポートされますが、" stalone/rest.service "をインポートするとエラーが発生します。

Cannot find module 'stalone/rest.service'. 

私はこの問題に関連していると思うファイルのみを含んでいます。もし私が逃してしまったら、私に知らせてください。あなたはtypescriptですコンパイル時にこのエラーが発生した場合

+0

私は同じ問題を抱えていますが、運はまだありません。私は何か有用なものを見つけたらお知らせします! –

+0

https://www.typescriptlang.org/docs/handbook/module-resolution.html – yurzui

+0

あなたがアプリの下でどのようにマッピングが役立つか分かりません。あなたはapp.module.tsにインポートすることができます。 'import {RestService } ./standalone/rest.service "から。 SystemJSはモジュールを期待しています。 – JayChase

答えて

0

、その後、追加します。

"compilerOptions": { 
    ... 
    "paths": { 
     "standalone/*": [ "app/standalone/*" ] 
    } 
} 

をごtsconfig.json

注意を:あなたは活字体、バージョン2.0以降が必要です。

0

は、コンパイル時にsystem.jsを使用していないこの'stalone': './app/standalone'

1

活字体のように試してみてください。私が正しく理解すれば、コンパイル時にこのエラーが発生するので、実際にはTypeScriptがモジュールを見つけることができず、実行時にはsystem.jsではありません。

typescriptが見つかったすべてのnode_modulesフォルダの下にあるファイルを探していますが、あなたのモジュールがnode_modulesでないため、これはうまくいきません。

あなたは、どこのモジュールを見つけるために、このようなもののtsコンパイラに指示する必要がある理由だ

:このすべては、より詳細にどのように機能するかを理解するために

{ 
    "compilerOptions": { 
    "paths": { 
     "stalone/*": ["app/standalone/*"] 
    } 
} 

を、あなたが本当にtypescriptですためのモジュール解像度のマニュアルを確認する必要がありますhere

関連する問題