无服务器框架无法识别tsconfig的路径

时间:2020-05-21 14:35:00

标签: node.js aws-lambda serverless-framework tsconfig-paths

我正在尝试使用无服务器框架将Node.js应用程序部署到Lambda,但是,我的节点代码使用tsconfig.json中的路径来引用导入,但是无服务器部署过程失败。如何连接serverless.yml以确认和使用tsconfig.json中定义的路径?

我已经安装了serverless-plugin-typescript,但是它似乎无法识别tsconfig中的路径。

serverless.yml

<img src="data:image/png;base64,{{ graphic|safe }}">

tsconfig.ts

service:
  name: app-name

custom:
  webpack:
    webpackConfig: ./webpack.config.js
    includeModules: true

plugins:
  - serverless-webpack
  - serverless-plugin-typescript

...

1 个答案:

答案 0 :(得分:0)

我找到了答案。原来您需要安装tsconfig-paths-webpack-plugin。然后在webpack.config.js中添加以下内容:

npm install --save-dev tsconfig-paths-webpack-plugin

在webpack.config.js内部:

const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');


module.exports = {
  ...
  resolve: {
    plugins: [new TsconfigPathsPlugin({ configFile: "./tsconfig.json" })]
  },
  ...
};

注意:请确保使用resolve部分中的插件。根目录有一个插件,但是 TsconfigPathsPlugin 仅可用于解析/插件。

如果遇到同样的问题,希望对您有所帮助。