Vie*_*iet 5 node.js typescript
我知道这似乎是一个重复的问题,但我找到的答案均无效:
在我的.ts文件中:
import * as fs from 'fs'; // error: SyntaxError: Unexpected token *
// OR
import fs from 'fs'; // error:
// import fs from 'fs';
// ^^
// SyntaxError: Unexpected identifier
// OR
import {fs} from 'fs'; // error: module '"fs"' has no exported member 'fs'.ts(2305)
const data: [string, number] = [['one', 1],['two',2]];
function modifyThis(data: any) {
return data.map((element: any) => {
element[1] = 0;
return element;
});
}
fs.writeFileSync('./data.txt', modifyThis(data), 'utf8');
Run Code Online (Sandbox Code Playgroud)
我确实有"@types/node": "^12.0.0"我的package.json,我不明白为什么它不起作用。
我使用ts-node,node和代码运行器扩展名执行文件,但它仍然不起作用。我是ts-node全局安装的。
更新:
的输出$ts-node:
$ ts-node modData.ts
/.../modData.ts:1
import * as fs from 'fs';
^
SyntaxError: Unexpected token *
at Module._compile (internal/modules/cjs/loader.js:721:23)
at Module.m._compile (....nvm/versions/node/v10.16.0/lib/node_modules/ts-node/src/index.ts:814:23)
at Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Object.require.extensions.(anonymous function) [as .ts] (....nvm/versions/node/v10.16.0/lib/node_modules/ts-node/src/index.ts:817:12)
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 main (....nvm/versions/node/v10.16.0/lib/node_modules/ts-node/src/bin.ts:226:14)
at Object.<anonymous> (....nvm/versions/node/v10.16.0/lib/node_modules/ts-node/src/bin.ts:485:3)
Run Code Online (Sandbox Code Playgroud)
更新:
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react"
},
"include": [
"src"
]
}
Run Code Online (Sandbox Code Playgroud)
import * as fs from 'fs';
我在项目中使用了该语句,效果很好。
也许检查tsconfig.json文件?
"compilerOptions": {
"module": "commonjs",
...
/* List of folders to include type definitions from. */
"types": [
"node",
"vue-types",
],
},
Run Code Online (Sandbox Code Playgroud)
我已经解决了问题:\n我需要在应用@types/node程序外部安装包react:
$ yarn add @types/node\nRun Code Online (Sandbox Code Playgroud)\n\n所以该项目看起来像这样:
\n\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 client\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 package.json\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
7626 次 |
| 最近记录: |