Issue
I am trying to run my program using "node main.js", however, it keeps coming up with the error "SyntaxError: Unexpected token {"
D:\Visual Studio Code Projects\ts-hello>node main.js
D:\Visual Studio Code Projects\ts-hello\main.js:1
import { LikeComponent } from './like.component';
^
SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:721:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
I have tried changing the tsconfig.json file to "module": "commonjs", however, this did not work. I have even uninstalled and reinstalled node and started from scratch.
import{LikeComponent} from './like.component';
let component = new LikeComponent(10, true);
component.onClick();
console.log(`likesCount: ${component.likesCount}, isSelected: ${component.isSelected}`);
It should output the program correctly onto the command prompt.
Solution
Notice that your are running node main.js
.
Your main.js
currently has esm
syntax (aka ES6 module syntax).
Assuming it is compiled from main.ts
, you need to have module: commonjs
in your `tsconfig.json
// tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
... // other configurations
}
}
With that, when you compile your code by running tsc
, it will create main.js
with commonjs module syntax.
Answered By - unional
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.