如何设置SERVER端Node.js项目以使用Typescript和Webpack

时间:2017-10-23 18:18:17

标签: node.js typescript webpack

我正在寻找资源(youtube或其他文章),展示如何使用Typescript和Webpack设置服务器端Node.js项目。我发现有太多文章描述了将typescript添加到客户端/浏览器端项目中。我不需要知道这个,因为我使用的是Angular。我想使用webpack,因为它是Angular项目中嵌入的内容,因此从学习的角度来看,在服务器上使用相同的技术似乎是有意义的。我似乎无法在Typescriptlang.org上找到我需要的信息。我知道如何创建node.js项目,所以我不需要node.js初学者教程/资源。这里的关键是如何将Typescript和Webpack添加到Node.js服务器项目中。感谢。

2 个答案:

答案 0 :(得分:3)

它与浏览器环境配置没有太大区别。首先,您必须使用Webpack的目标选项来编译代码,以便在NodeJS环境中使用,如下所示:

module.exports = {
    target: 'node'
};

以下是此部分的文档:Webpack Targets

此外,您必须确保已安装@types/node

典型的webpack配置可能是:

const path = require("path");

module.exports = {
    entry: "./src/index.ts",
    target: "node",
    output: {
        filename: "bundle.js",
        path: path.resolve(__dirname, "build")
    },
    module: {
        rules: [
            {
                test: /\.tsx?$/,
                use: 'ts-loader',
                exclude: /node_modules/
            }
        ]
    },
    resolve: {
        extensions: [ ".tsx", ".ts", ".js" ]
    },
}

这是我作为例子制作的一个小型工作项目:node-typescript-boilerplate

我建议在webpack上使用nodemon插件:nodemon-webpack-plugin,它会帮助您在每次更改代码源后自动重启应用。

答案 1 :(得分:1)

它与客户端无法区分。您可以在服务器端的webpack中使用相同类型的配置。只是给它你的入口点,它将解析所有依赖项并为你捆绑,你可以在webpack中使用ts-loader将你的打字稿编译为javascript