【node-express】在commonjs的项目中使用esm和ts开发的sdk

在commonjs的项目中使用esm和ts开发的sdk

  • 效果
  • 实现步骤

效果

在一些demo中, 大部分代码是commonjs规范开发的,但是要用到的sdk是ts开发的并且仅支持esm,
又不想配置很复杂的工程项目,可以这么做。如果你有更好的建议,希望能得到你的指点。
源码:https://github.com/thinkasany/nestjs-course-code/tree/master/demo/cjsAndEsm
【node-express】在commonjs的项目中使用esm和ts开发的sdk_第1张图片

实现步骤

创建tsconfig.json文件

{
    "compilerOptions": {
      "target": "es6",
      "module": "commonjs",
      "strict": true,
      "esModuleInterop": true,
      "skipLibCheck": true,
      "forceConsistentCasingInFileNames": true,
      "moduleResolution": "node",
      "outDir": "./dist"  // 输出目录
    },
    "include": ["service/*.ts"],
    "exclude": ["node_modules"]
  }
  
 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "npx tsc && nodemon main.js"
  },
const Client = require('../dist/address'); 

module.exports = function (app) {
  app.get('/health',  (req, res) => {
    return res.json({ message: 'OK', data: `Time Is ${new Date().toString()}` });
  });

  app.get('/address', async (req, res) => {
    const text = req.query.text; // 从请求参数中获取需要处理的文本
    try {
      const data = await Client.main(text);
      console.log('data', data);
      res.status(200).json({ message: 'Successfully processed the request.', data });
    } catch (error) {
      // 处理错误
      res.status(500).json({ error: error.message });
    }
  });
};

你可能感兴趣的:(express,typescript,node.js,javascript)