Webpack只捆绑一个Typescript文件而不是所有依赖项

时间:2016-12-06 04:02:50

标签: javascript typescript webpack

我试图将我的Typescript项目文件(包括node_modules中的所有依赖项)捆绑到一个文件中,但我遇到了Webpack问题。我尝试了很多选项,但无论我做什么,似乎只在输出中包含 条目文件:

一些具有依赖关系的示例Typescript文件:

应用程序/ test1.ts:

import {x} from 'app/test2';

let y = x + 1;

应用程序/ test2.ts:

export let x = 123;

Webpack文件:

module.exports = {
entry: {
 'app/startup' : './app/test1'
},
output: {
  filename: 'bundle.js'
},
module: {
  loaders: [
    { test: /\.ts$/, loader: 'ts-loader' }
  ]
},
resolve: {
  modules: [
    'node_modules'
  ],
  extensions: ['.ts', '.js']
},
};

tsconfig.json文件:

 {
  "atom": {
      "rewriteTsconfig": false
  },
  "compilerOptions": {
      "skipLibCheck": true,
      "pretty": false,
      "allowJs": false,
      "outDir": "tsDist",
      "baseUrl": ".",
      "moduleResolution": "node",
      "target": "es5",
      "module": "es2015",
      "sourceMap": false,
      "strictNullChecks": true,
      "noImplicitThis": true,
      "noImplicitAny": false,
      "declaration": false
  },
  "filesGlob": [
      "app/**/*.ts",
  ],
  "exclude": [
      "node_modules",
  ],
  "files": [
  ]
 }

除了捆绑顶部的标准内容之外,它只包含" app / test2"丢失:

System.register(["app/test2"], function (exports_1, context_1) {
    "use strict";
    var __moduleName = context_1 && context_1.id;
    var test2_1, y;
    return {
        setters: [
            function (test2_1_1) {
                test2_1 = test2_1_1;
            }
        ],
        execute: function () {
            y = test2_1.x + 1;
        }
    };
});

我在这里做错了什么?为什么test2不包含在捆绑中?我还需要做些什么来包含任何node_module依赖项?

我尝试从此示例项目中复制设置但得到的结果相同: https://github.com/blacksonic/typescript-webpack-tree-shaking

1 个答案:

答案 0 :(得分:0)

可能是因为你引用了错误的链接?

_all_docs