tsconfig' outFile'之间的区别是什么?和webpack配置'输出'

时间:2017-06-23 04:27:39

标签: javascript typescript webpack ts-loader

'输出'之间有什么不同?路径? tsconfig是一个加载器吗?和webpack解决' .ts'运行tsconfig build之后的文件?
为什么文件' src.js'找不到?它会被webpack自动删除吗?

tsconfig.json:



{
    "compilerOptions": {
        "module": "amd",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "outFile": "src.js",
        "sourceMap": true
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules"
    ]
}




webpack.config.js:



module.exports = {  
    entry: './index.ts',  
    output: {  
        filename: './dest.js'  
    },  
    module: {  
        loaders: [{  
            test: /\.ts$/,  
            loader:'ts-loader'
        }]  
    },  
    resolve: {  
        extensions: ['.webpack.js', '.web.js', '.ts', '.js']  
    }  
}  




当我运行' webpack' ' src.js'找不到,' dest.js'没关系。

非常感谢。

1 个答案:

答案 0 :(得分:1)

不过outFile

使用tsc命令

时,TS编译器使用此配置选项
  

连接并将输出发送到单个文件。

您可以阅读有关编译器选项here的更多信息。

输出

Webpack

使用此配置选项
  

顶级输出键包含指示webpack的一组选项   关于如何以及在何处输出您的捆绑包,资产和任何东西   否则你用webpack捆绑或加载。

为什么缺少src.js

当您使用ts-loader而不是tsc作为构建webpack的一部分时,不使用outFile中的tsconfig.json选项。加载.ts文件时,Webpack检测到它应该传递给ts-loader,而tsc又使用编译器编译仅这一个文件,然后将输出返回给webpack。它永远不会像src.js那样使用所有文件。这就是为什么不生成events.js:182 throw er; // Unhandled 'error' event ^ Error: Cannot find module 'react-router-dom' from '/usr/src/app' at /usr/src/app/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:46:17 at process (/usr/src/app/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:173:43) at ondir (/usr/src/app/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:188:17) at load (/usr/src/app/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43) at onex (/usr/src/app/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31) at /usr/src/app/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47 at FSReqWrap.oncomplete (fs.js:152:21) npm info lifecycle irregular_verbs@1.0.0~start: Failed to exec start script 的原因。