网页包+;TypeScript=选中所有文件,而不是单个文件
我想用webpack传输网页包+;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
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
中将文件设置为[]
解决了这个问题,谢谢。