angular 2调整System.config()后单独的javascript文件和打字稿文件

时间:2016-05-02 05:41:11

标签: angular

我的项目文件夹结构与快速启动ToH https://angular.io/docs/ts/latest/tutorial/toh-pt1.html

相同

因此,为了分隔.ts文件和.js文件,我使用"outDir": "dist"添加到tsconfig.json中。 tsc然后将所有.js和.map文件编译到dist文件夹中。到现在为止还挺好。 dist文件夹与app文件夹并行。

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "outDir": "dist",
    "suppressImplicitAnyIndexErrors":true
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
} 

接下来我更改了index.html中的system.import

<script>
  System.config({
    packages: {        
      app: {
        format: 'register',
        defaultExtension: 'js'
      },
      services: {defaultExtension: 'js'}
    }
  });
  //System.import('app/main')
  System.import('./dist/app/main')
        .then(null, console.error.bind(console));
</script>

现在npm开始后,浏览器给了我

 system.src.js:1154 GET http://localhost:3000/dist/app/main 404 (Not Found)

如何让系统导入功能找到main.js?

文件夹结构如下所示

root
  |--app            // all .ts files are here
  |--dist
       |--app       // all .js and .map files are here

1 个答案:

答案 0 :(得分:3)

如果您想将主HTML文件保存到根文件夹中,我会利用declare @isPending varchar(10) = 'Data', @isInvoiced varchar(10) = 'Pool', @txt varchar(100) set @txt = @isPending + ' OR ' + @isInvoiced SELECT * FROM TextTable WHERE CONTAINS (textColumn, @txt) 块:

map