1

私は gulp を使用して ts を js にトランスパイルしており、ts ファイルは他の静的リソースと共に dist フォルダーに正しく生成されます。

//tsconfig.js

    {
      "compilerOptions": {
        "outFile": "scripts.js",  //this can be commented to retain the original file structure instead of concatenating into one file
        "target": "es5",
        "module": "system",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false
      },
      "exclude": [
        "gulpfile.js",
        "node_modules",
        "typings/main",
        "typings/main.d.ts"
      ]
    }

systemjsを使用してscripts.jsをインポートします

//index.html

        <!DOCTYPE html>
        <html>
        <head>
            <base href="/">
            <meta charset="UTF-8">
            <title>ZEFR</title>

            <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,700,600,700italic,400italic,600italic,800,800italic' rel='stylesheet' type='text/css'>

            <link rel="stylesheet" type="text/css" href="style.css">
        </head>
        <body>
            <my-app>Loading</my-app>
        </body>
        <script src="lib/es6-shim.js"></script>
        <script src="lib/angular2-polyfills.js"></script>
        <script src="lib/system.src.js"></script>
        <script src="lib/Rx.js"></script>
        <script src="lib/angular2.dev.js"></script>
        <script src="lib/router.dev.js"></script>

        <script>
        System.config({
            packages: {
                dist: {
                    format: 'register',
                    defaultExtention: 'js'
                }
            }
        });
        System.import('scripts.js')
                .then(null, console.error.bind(console))
    </script>
    </html>

script.js は連結された JavaScript ファイルであり、すべてのコンポーネントが含まれています。問題は、コンソールにエラーが表示されないことです。script.js の代わりに boot.js をターゲットにする必要があると感じています。私のdistフォルダでそれを行うにはどうすればよいですか

//my project folder structure

    -public/
      -index.html
      -components/
        -boot/
          -boot.ts
        -app/
           -app.component.ts
         ...
      -dist/
         -scripts.js  //this is the concatenated file of all the js transpiled from ts
         -style.css
         -images/
         -lib/
4

1 に答える 1

0

これはあなたを助けるはずです:

 System.import('dist/scripts')
            .then(null, console.error.bind(console))

scripts.jsインデックスが親ディレクトリにある間、あなたはdistにあります。そして、そこに追加する必要はありません---.js

于 2016-03-28T08:22:38.177 に答える