网页包+;TypeScript=选中所有文件,而不是单个文件

网页包+;TypeScript=选中所有文件,而不是单个文件,typescript,webpack,Typescript,Webpack,我想用webpack传输index.ts,但它也会检查另一个.ts,而不存在依赖关系。为什么? 演示: $ node_modules/webpack/bin/webpack.js [……] 完整演示: $ cat /etc/centos-release CentOS Linux release 7.3.1611 (Core) $ sudo yum install epel-release $ sudo yum install nodejs $ node -v v6.10.3 $ npm ini

我想用webpack传输
index.ts
,但它也会检查
另一个.ts
,而不存在依赖关系。为什么?

演示:

$ node_modules/webpack/bin/webpack.js
[……]

完整演示:

$ cat /etc/centos-release
CentOS Linux release 7.3.1611 (Core)
$ sudo yum install epel-release
$ sudo yum install nodejs
$ node -v
v6.10.3
$ npm init
$ npm install --save-dev typescript ts-loader webpack
$ node_modules/typescript/bin/tsc -v
Version 2.3.4
$ node_modules/typescript/bin/tsc --init
$ vim index.ts
index.ts

class Person {
    public name: string;

    constructor(name:string) {
        this.name = name;
    }
}

let p:Person = new Person("Joe");
console.log(p.name);
module.exports = {
  entry: './index.ts',
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
        exclude: /node_modules/,
      }
    ]
  },
  output: {
    filename: 'bundle.js',
    path: __dirname
  }
};
I don't want to check this file.
吐丝工作:

$ node_modules/typescript/bin/tsc index.ts
$ node index.js
Joe
$ node_modules/webpack/bin/webpack.js
$ node bundle.js
Joe
执行工程:

$ node_modules/typescript/bin/tsc index.ts
$ node index.js
Joe
$ node_modules/webpack/bin/webpack.js
$ node bundle.js
Joe
网页包配置:

$ node_modules/webpack/bin/webpack.js -v
3.0.0
$ vim webpack.config.js
webpack.config.js

class Person {
    public name: string;

    constructor(name:string) {
        this.name = name;
    }
}

let p:Person = new Person("Joe");
console.log(p.name);
module.exports = {
  entry: './index.ts',
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
        exclude: /node_modules/,
      }
    ]
  },
  output: {
    filename: 'bundle.js',
    path: __dirname
  }
};
I don't want to check this file.
吐丝工作:

$ node_modules/typescript/bin/tsc index.ts
$ node index.js
Joe
$ node_modules/webpack/bin/webpack.js
$ node bundle.js
Joe
执行工程:

$ node_modules/typescript/bin/tsc index.ts
$ node index.js
Joe
$ node_modules/webpack/bin/webpack.js
$ node bundle.js
Joe
另一个文件创建:

$ vim another.ts
另一个.ts

class Person {
    public name: string;

    constructor(name:string) {
        this.name = name;
    }
}

let p:Person = new Person("Joe");
console.log(p.name);
module.exports = {
  entry: './index.ts',
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        loader: 'ts-loader',
        exclude: /node_modules/,
      }
    ]
  },
  output: {
    filename: 'bundle.js',
    path: __dirname
  }
};
I don't want to check this file.
复现:

$ node_modules/webpack/bin/webpack.js
错误

ERROR in [at-loader] ./another.ts:1:3
    TS1005: ';' expected.

ERROR in [at-loader] ./another.ts:1:6
    TS1005: ';' expected.

ERROR in [at-loader] ./another.ts:1:33
    TS1002: Unterminated string literal.

ERROR in [at-loader] ./another.ts:1:1
    TS2304: Cannot find name 'I'.

ERROR in [at-loader] ./another.ts:1:3
    TS2304: Cannot find name 'don'.
当另一个.ts不在
webpack.config.js中时,
!为什么


我试过使用
awesome-typescript-loader
而不是
ts-loader
,同样的问题。

实际上,在
tsconfig.json
中将
文件设置为
[]
解决了这个问题,谢谢。