gpt4 book ai didi

javascript - Webpack 包未导出且无法导入

转载 作者:行者123 更新时间:2023-12-03 00:21:03 27 4
gpt4 key购买 nike

我使用 Create-React-app 创建了我的 React 项目 A。然后我将它们与 Webpack 捆绑在一起并保存在我的 Git 帐户中。现在我在不同的目录中创建另一个项目(称为项目 B)。直接从 git 下载项目 A。并尝试像这样使用它:

import React from 'react';
import ReactDOM from 'react-dom';
import { Main } from 'project-A/dist/main'

ReactDOM.render(<Main />, document.getElementById('root'));

我收到如下错误:

Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

项目 A 的 webpack 如下所示:

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const HtmlWebPackPlugin = require("html-webpack-plugin");
const nodeExternals = require("webpack-node-externals");

module.exports = [
{
/*Client Side*/
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.html$/,
use: {
loader: "html-loader",
options: { minimize: true }
}
},
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader,"css-loader"]
}
]
},
plugins: [
new HtmlWebPackPlugin({
template: "./public/index.html",
filename:"./index.html"
}),
new MiniCssExtractPlugin({
filename: "[name].css",
chunkFilename:"[id].css"
})
]
}
]

我通过github进行了研究,并尝试更改名称导入,但仍然不起作用。

项目 A 的组件如下所示:

应用程序.js:

  render() {
return (
<div>
{this.renderCodeAuthCard()}
{this.renderConfirmCard()}
{this.renderVerifyCard()}
</div>
);
}

export default App;

index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

显然 webpack 没有导出在项目 A 中创建的包文件。因为导入会产生“undefine”。

我正在尝试找到一种方法来导出我的 webpack 捆绑文件并在另一个项目中使用它。

任何帮助将不胜感激

最佳答案

这是因为您没有从项目 Aindex.js 导出任何内容。 npm 安装的库从 index.js 导出函数。

关于javascript - Webpack 包未导出且无法导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54312584/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com