我目前正在尝试将reactJS添加到我的webapp项目中,但是我遇到了一些困难。
首先,您现在应该:
我正在使用TypeScript(v2.9)开发该项目,并且我的所有文件都在使用内部模块,因此我无法使用import * as React from 'react'
,因为它将破坏我所有的内部模块...要添加新的外部模块,我使用.d.ts文件并添加一个包含我要使用的脚本的<script>
栏杆。
我使用Grunt作为任务管理器,并使用grunt-ts来编译我的打字稿文件。
这是项目的结构:
Project
|
+-- Gruntfile.js
|
+-- package.json
|
+-- node_modules
|
+-- public
| |
| +-- webapp
| |
| +-- scripts
|
文件夹脚本包含我的所有键入内容以及我导入或下载的库(例如jQuery),并且这些库运行良好。
到目前为止我尝试过的事情:
require is not defined
错误。经过一些研究,我发现我需要浏览我的node_modules文件,以便可以在浏览器中使用它们。我在此配置中使用了grunt-browserify:
build: {
files: [
{
src: [],
dest : 'public/webapp/script/lib/bundle.js',
}],
options: {
require: ['react'],
browserifyOptions: {
plugin: [
['tsify', {target: 'es2015'}]
],
},
}
}
这样做之后,关于require的错误消失了,但是现在还没有定义React模块。好像bundle.js中的代码没有很好地导入。