React 项目无法在 git 子模块中使用节点模块
React project fails to use node modules in a git submodule
我有一个 Javascript (typescript) 项目,我在 react 项目(也是 typescript)中用作 git 子模块。
一切正常...直到我在 git 子模块中使用 任何节点模块 。例如,我尝试使用节点模块 "moment" 和 "faker",但我几乎可以肯定它与这些特定节点模块没有任何关系。
在子模块中导入例如 "moment":
import moment from 'moment';
使用它:
moment().format('DD/MM/YYYY');
和 运行 主反应项目导致此错误:
Failed to compile.
./src/project_core/node_modules/moment/moment.js
Line 5:37: 'define' is not defined no-undef
Line 5:50: 'define' is not defined no-undef
删除 moment().format('DD/MM/YYYY');
即可解决。
如果我只是 运行 直接在子模块中进行一些测试并使用 "moment",它总是有效的。我可以使用节点模块。一旦主项目使用 git 子模块中的节点模块,看起来就出了问题。
这就是我的 React 项目的样子。如您所见,子模块 project_core 已添加到主项目的 src 文件夹中。
├── build
│ ├── assets
│ └── static
│ ├── css
│ └── js
├── node_modules
├── public
│ └── assets
└── src
├── project_core
│ ├── node_modules
│ ├── src
│ └── tests
├── ui
├── api
└── utils
我知道...我到处都读到不推荐使用 git 子模块。然而,我只想尝试使用 git 个子模块来从中学习。
看起来你在节点模块中有一个节点模块。这可能会使您的捆绑器感到困惑并产生导入错误。尝试从项目核心子目录中删除 package.json 和 node_modules 并查看导入是否正常工作。如果你想让你的核心目录成为一个库,考虑将它作为一个 npm 依赖而不是一个子模块。您仍然可以在依赖项中引用 git 提交哈希。
我有一个 Javascript (typescript) 项目,我在 react 项目(也是 typescript)中用作 git 子模块。
一切正常...直到我在 git 子模块中使用 任何节点模块 。例如,我尝试使用节点模块 "moment" 和 "faker",但我几乎可以肯定它与这些特定节点模块没有任何关系。
在子模块中导入例如 "moment":
import moment from 'moment';
使用它:
moment().format('DD/MM/YYYY');
和 运行 主反应项目导致此错误:
Failed to compile.
./src/project_core/node_modules/moment/moment.js
Line 5:37: 'define' is not defined no-undef
Line 5:50: 'define' is not defined no-undef
删除 moment().format('DD/MM/YYYY');
即可解决。
如果我只是 运行 直接在子模块中进行一些测试并使用 "moment",它总是有效的。我可以使用节点模块。一旦主项目使用 git 子模块中的节点模块,看起来就出了问题。
这就是我的 React 项目的样子。如您所见,子模块 project_core 已添加到主项目的 src 文件夹中。
├── build
│ ├── assets
│ └── static
│ ├── css
│ └── js
├── node_modules
├── public
│ └── assets
└── src
├── project_core
│ ├── node_modules
│ ├── src
│ └── tests
├── ui
├── api
└── utils
我知道...我到处都读到不推荐使用 git 子模块。然而,我只想尝试使用 git 个子模块来从中学习。
看起来你在节点模块中有一个节点模块。这可能会使您的捆绑器感到困惑并产生导入错误。尝试从项目核心子目录中删除 package.json 和 node_modules 并查看导入是否正常工作。如果你想让你的核心目录成为一个库,考虑将它作为一个 npm 依赖而不是一个子模块。您仍然可以在依赖项中引用 git 提交哈希。