首页 > 解决方案 > 使用 create-react-app 时如何在没有 webpack 依赖的情况下导入节点模块或 JavaScript 文件?

问题描述

我正在尝试使用 create-react-app 从我的 index.js 文件中包含一个单独的 JavaScript 文件(server.js)。这个 server.js 文件使用了npm zeromqnode 模块,它似乎不能很好地与 webpack 配合使用。因此,我要么尝试排除zeromq节点模块,要么尝试排除 server.js。

我试图编辑 webpack.config.js 却没有运气。我尝试过的一些方法:

{
  ...
  test: /\.(js|mjs|jsx)$/,
  exclude: /server\.js$/,
  ...
}

不幸的是,我找到的所有示例看起来都不像我目前拥有的配置文件。我从 project/node_modules/webpack/config 生成的配置看起来像这样......

...
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;

// This is the production and development configuration.
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
module.exports = function(webpackEnv) {
  const isEnvDevelopment = webpackEnv === 'development';
  const isEnvProduction = webpackEnv === 'production';
...

我以标准方式从 index.js 导入 server.js 文件。

import './server.js'

标签: javascriptreactjswebpackcreate-react-app

解决方案


因此,您的问题可能是您只需要拥有

import server from './server.js';

或者您需要的任何特定模块。话虽如此,如果您遇到与 webpack 不兼容的问题,则可能值得尝试使用 require 语句。所以像:

const server = require('./server.js');

你也弹出了你的反应应用程序吗?如果您已退出使用 create-react-app 创建的应用程序,则修改部分构建脚本通常会更容易。


推荐阅读