各位开发人员大家好,
我对NodeJS,React和JS技术缺乏了解,但是我需要在一个大型PHP项目中实现基本的React函数。
该项目:
使用Zend Framework 3(MVC,项目分为模块等)
PHP软件包由composer(composer.json)管理
在IBM I服务器上运行
最近添加的打字稿
npm管理的Javascript包
我对npm以及一些软件包的工作要求知之甚少。
我要实现的目标:
添加React以使用JS生成视图
通过package.json添加它
将其导入我的Typescript文件
我尝试过的
package.json
{
"name": "...",
"homepage": "...",
"dependencies": {
"@types/jquery": "^3.3.31",
"@types/node": "^12.12.14",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"jquery": "^3.3.1"
},
"repository": {
"type": "git",
"url": "..."
}
}
索引
import React from 'react';
import ReactDOM from 'react-dom';
我在服务器上安装了软件包,但在TS编译过程中收到以下错误:
module/Dashboard/asset/dashboard/js/index.ts:12:19 - error TS2307: Cannot find module 'react'.
12 import React from 'react';
~~~~~~~
module/Dashboard/asset/dashboard/js/index.ts:13:22 - error TS2307: Cannot find module 'react-dom'.
13 import ReactDOM from 'react-dom';
我已经尝试导入require,但是没有NodeJS它将无法正常工作。是否需要使用需求库而不是导入库?
以这种方式安装React时我做错了什么,我该怎么办?我还有其他未满足的要求吗?如HERE所述,当我将其导入HTML时,React可以正常工作。
其他问题:
将Zend Framework 3 / PHP项目与JS库混合在一起是一个好主意吗?
怎么做呢?
先感谢您
编辑:
我的团队决定考虑是否应该将此功能作为Zend Framework 3模块的一部分,还是创建一个前端应用程序,该应用程序将通过API询问ZF3模块。我们可能会选择第二个选项。
如果有人能就此事给我一个建设性的意见,我将感到高兴。这种架构方法是一个好方法吗?
最佳答案
为了征服你
找不到模块“反应”。
问题,您应该在运行时在项目目录中安装节点模块“ react”
npm安装反应
在终端。
使用require为了导入“反应”模块而不是导入
应该由一个单独的服务实例运行react前端并通过API与PHP进行通信,或者您是从节点运行PHP代码还是什么?