reactjs - React 应用程序注入 js 而不是 index.html
问题描述
我想创建一个不是独立站点的 React 应用程序,而是对现有站点的扩展。该站点是使用 asp.net 构建的,我无法对其进行编辑。我确实有一个带有 javascript 的条目,并且可以运行如下代码:
$(document).onload(() => {
$(body).parent().append(`
<script src='{...}'></script>
`);
});
有什么办法可以将标准Index.html
输出从默认create-react-app
更改为.js
文件并将反应块添加到附加中?它不一定需要遵循上述方向,但据我所知。
解决方案
我相信您可以使用 ReactDOM.render 将其附加到主体上
ReactDOM.render(
<React>
<App />
</React>,
document.getElementByTagName('body')
)
但是您可能必须从使用 webpack 切换create-react-app
到使用 webpack,然后HTMLWebpackPlugin
在您的内部使用类似的东西webpack.config.js
来指定入口点
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
target: 'web',
mode: 'development',
entry: './src/index.jsx',
devtool: "source-map",
output: {
path: path.resolve(__dirname, 'dist'),
publicPath: '/',
filename: "[name]/[name].js",
},
...
new HtmlWebpackPlugin({
template: './html/index.html',
filename: './index.html'
}),
...
}
您必须安装html-webpack-plugin
以及webpack
您需要的任何东西npm install html-webpackplugin webpack ...
如果您查找有关此的教程,请尝试查找React 17
它们Webpack 5
是相当新的。Webpack 5
与 Webpack 4 相比,热重载有一些差异
推荐阅读
- python - django管理面板中不同用户的自定义用户查看/编辑权限
- javascript - View 不会更新,但 URL 在 React Router V6 中会更新
- c# - 使用 HttpClientHandler 创建 Httpclient 扩展
- python - 预测 X_test 集的前两个样本的房价并打印出来。(提示:使用 predict() 函数)
- permissions - 如何在 Databricks 的作业中为创建的文件定义权限?
- python - 如何在 Python 的递归函数中合并嵌套的数据帧 groupby 循环?
- asp.net - 无法使用 OAuth2 为守护程序应用程序验证 Microsoft 365 电子邮件
- javascript - 两个正则表达式有什么不同?
- hive - Hive 中是否有可能的 Multi fetch 概念?
- php - 使用flutter和php创建用户登录时解析json数据时出错