各位开发人员大家好,

我对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代码还是什么?

07-24 09:37
查看更多