Búsqueda de sitios web

webpack - typescript Token inesperado import


Recibo el siguiente error al usar un simple import en un código base de node.js. Me gustaría saber qué está mal en mis archivos de configuración y cómo solucionarlo:

Error que recibo:

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

SyntaxError: Unexpected token import

Estoy usando TypeScript, aquí están mis archivos de configuración:

tsconfig.json

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

webpack.config.js

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')
  }
};

package.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"
  },

Respuesta #1

En tu tsconfig tienes "target": "es2017", Cámbialo a "target": "es5", ya que parece que estás ejecutando en un entorno que no soporta módulos estilo es2017.