ruby-on-rails - 反应不在 Rails 静态页面视图上呈现
问题描述
所以在 View 中,Rails static_pages root.html.erb 显示在http://localhost:3000/
app/view/static_pages/root.html.erb
<main id="root"></main>
<h1> from root.html.erb file </h1>
应用程序/前端/waitlist.jsx
import React from 'react';
import ReactDOM from 'react-dom';
document.addEventListener('DOMContentLoaded', () => {
const root = document.getElementById('root');
ReactDOM.render(<h1>react render</h1>, root);
});
webpack.config.js
var path = require("path");
module.exports = {
context: __dirname,
entry: "./frontend/waitlist.jsx",
output: {
path: path.resolve(__dirname, 'app', 'assets', 'javascripts'),
filename: "bundle.js"
},
module: {
loaders: [
{
test: [/\.jsx?$/, /\.js?$/],
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['env', 'react']
}
}
]
},
devtool: 'source-map',
resolve: {
extensions: [".js", ".jsx", "*"]
}
};
不确定为什么 waitlist.jsx 部分不起作用,没有显示错误。刚刚运行 rails 服务器,只看到没有 reactDOM 的 rails 视图。
解决方案
看起来您的 erb 文件缺少对 bundle.js 文件的引用。
添加:
<%= javascript_include_tag "bundle" %>
到您的 erb 文件的底部。
推荐阅读
- reactjs - 如果状态没有变化,则强制重新加载反应 js 组件
- typescript - 为什么这个包装的样式组件错误“没有共同的属性”
- iis -
- 匹配包含字符串的 URL - python - 使用亚洲字符的 FuzzyWuzzy 搜索
- java - 在“-”之后传入大写(indexOf)
- django - modelformset_factory 不将实例保存到数据库
- postgresql - 执行 Postgres 时二进制无效
- json - 从 NSMutableArray 快速创建 jsonArray
- java - 码头 9.4 不可读的会话
- python - python numpy加载火炬模型.t7文件