😫概要
fuse-box v4.0.0のgetting-startedをstep1からやっていったらこんなエラーが出る
fusebox % ./node_modules/.bin/ts-node fuse.ts
(node:42058) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/fusebox/fuse.ts:1
import { fusebox } from 'fuse-box';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:979:16)
at Module._compile (internal/modules/cjs/loader.js:1027:27)
at Module.m._compile (/Users/fusebox/node_modules/ts-node/src/index.ts:1056:23)
at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Object.require.extensions.<computed> [as .ts] (/Users/fusebox/node_modules/ts-node/src/index.ts:1059:12)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at main (/Users/fusebox/node_modules/ts-node/src/bin.ts:198:14)
at Object.<anonymous> (/Users/fusebox/node_modules/ts-node/src/bin.ts:288:3)
✨解決
tsconfig.json
の module
を commonjs
にすれば解決!
tsconfig.json
{
"compilerOptions": {
"target": "ESNext",
"module": "commonjs",
"outDir": "./dist",
"strict": true,
"moduleResolution": "node",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true
},
"include": [
"./src/**/*.ts"
]
}
👀参考