2016-07-14 26 views
1

首先,我不知道package.json中的@angularangular2之間的區別。 但我喜歡package.json中的angular2方式。 這是我的github source無法以commonjs方式運行angular2

問題是我不能在tsconfig_c.json中將「system」更改爲「commonjs」,否則angular2會拋出我無法理解的錯誤。

HTML:

<!DOCTYPE html> 
<html> 
<!-- #docregion head --> 
<!-- #docregion base-href --> 

<head> 
    <base href="/" /> 
    <!-- #enddocregion base-href --> 
    <title>Angular 2 Seed</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <!-- #docregion css --> 
    <link rel="stylesheet" href="styles.css"> 
    <!-- #enddocregion css --> 

    <!-- 1. Load libraries --> 
    <script src="libs/angular2-polyfills.js"></script> 
    <script src="libs/system.src.js"></script> 
    <script src="libs/Rx.js"></script> 
    <script src="libs/angular2.dev.js"></script> 
    <script src="libs/router.dev.js"></script> 

    <!-- 2. Configure SystemJS --> 
    <script> 
     System.config({ 
     packages: {   
      app: { 
      format: 'register', 
      defaultExtension: 'js' 
      } 
     } 
     }); 
     System.import('app/bootstrap') 
      .then(null, console.error.bind(console)); 
    </script> 
</head> 
<!-- 3. Display the application --> 

<body> 
    <my-app>Loading...</my-app> 
</body> 

</html> 

配置:

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "system", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "moduleResolution": "node", 
    "removeComments": false, 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 

如果編制了 「系統」 的方式,一切都很好。但我更喜歡「commonjs」方式。 任何人都可以幫我解決這個問題?

+0

當angular2在測試它用來表示使用angular2包和當angular2遷入候選發佈版(RC)版本,他們改名爲包@angular。如果你從新項目開始,那麼我建議你使用最新的angular2版本(2.0.0-rc.4)。 – Sanket

回答

0

正如@Sanket表示,angular2包是角2.關於您的問題,老beta版本,如果你在commonjs編譯,你必須告訴SystemJs自己的應用在commonjs,所以你必須在index.html改變配置:

System.config({ 
    packages: {   
     app: { 
     format: 'cjs', // commonjs 
     defaultExtension: 'js' 
     } 
    } 
    }); 
+0

非常感謝,關於格式:'cjs',是任何網站告訴它?我想了解更多。 –

+0

是的,欲瞭解更多信息,你可以看到SystemJs的官方文檔:https://github.com/systemjs/systemjs/blob/master/docs/module-formats.md – robisim74

+0

謝謝,我會檢查出來。 –