代码之家  ›  专栏  ›  技术社区  ›  Radex

typescript意外的令牌导入

  •  1
  • Radex  · 技术社区  · 7 年前

    当使用一个简单的 import 在node.js基本代码中。 我想知道我的配置文件有什么问题,以及如何修复它:

    (function (exports, require, module, __filename, __dirname) { import { IO } from "fp-ts/lib/IO";
                                                                  ^^^^^^
    
    SyntaxError: Unexpected token import
    

    我使用的是typescript,这里是我的配置文件:

    tsconfig.json文件

    {
        "compilerOptions": {
            "target": "es2017",
            "module": "commonjs",
            "sourceMap": true,
            "strict": true,
            "noUnusedLocals": true,
            "noUnusedParameters": true,
            "noImplicitReturns": true,
            "noFallthroughCasesInSwitch": true,
            "moduleResolution": "node",
            "baseUrl": "."
        }
    }
    

    const path = require('path');
    
    module.exports = {
      entry: 'index.ts',
      devtool: 'source-map',
      module: {
        rules: [
          {
            test: /\.tsx?$/,
            use: 'ts-loader',
            exclude: /node_modules/
          }
        ]
      },
      resolve: {
        extensions: [ '.ts' ]
      },
      output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
      }
    };
    

    包.json

    "devDependencies": {
        "@types/node": "^10.9.4",
        "jest": "^23.5.0",
        "prettier": "^1.14.2",
        "ts-loader": "^5.1.0",
        "webpack": "^4.18.0"
      }
    

    ...

      "dependencies": {
        "fp-ts": "^1.8.0",
        "typescript": "^3.0.3"
      },
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   basarat    7 年前

    在你的tsconfig里 "target": "es2017", "target": "es5", 因为您似乎在不支持es2017样式模块的环境中运行。

    推荐文章