我正在尝试使用无服务器框架将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
...
答案 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 仅可用于解析/插件。
如果遇到同样的问题,希望对您有所帮助。