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.