这个代码是draftjs官方给的示例,但是在tsx里面报错,报错消息如图。
不知怎么解决。
已经用了 npm install @type/draft-js --save
晕了,这个要怎么用呢?
这个代码是draftjs官方给的示例,但是在tsx里面报错,报错消息如图。
不知怎么解决。
已经用了 npm install @type/draft-js --save
晕了,这个要怎么用呢?
@hyy1115 @fzred 无论两位谁说的对,都十分感谢。
`import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { Editor, EditorState } from "draft-js";
class MyEditor extends React.Component<any, any> {
constructor(props) {
super(props);
this.state = { editorState: EditorState.createEmpty() };
}
handleChange(e) {
this.setState({ editorState: e });
}
render() {
return (
<Editor editorState={this.state.editorState} onChange={e => this.handleChange(e)} />
);
}
}
ReactDOM.render(
<MyEditor />,
document.getElementById('editor')
);`
这是tsx文件。
<link href="~/css/draft.css" rel="stylesheet" />
<div id="editor"></div>
@section scripts{
<script src="~/lib/immutable.min.js"></script>
<script src="~/lib/draft.min.js"></script>
<script src="~/lib/require.js"></script>
<script src="~/js/editor.js"></script>
}
这是html文件,报错了。
Uncaught Error: Module name "react" has not been loaded yet for context: _. Use require([])(…)
另外,我用typescript的时候,像React ReactDOM Axios 这些库,npm运行 install @types/react react-dom axios 就能在tsx文件直接用,不用再import什么了,为什么draft不行啊。
1 回答1.8k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答1.3k 阅读
4 回答1.5k 阅读
1 回答1.7k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
ts编译后的文件node是可以直接运行的,如果要在浏览器上运行,因为浏览器本身是没有实现模块化加载的,要使用 webpack 进行打包(rollup、browserify也是可以的)。