我用来react-pdf通过 CRA 在 React 中渲染 PDF,然后像这样导入它:
import { Document, Page } from "react-pdf/dist/esm/entry.webpack";
Run Code Online (Sandbox Code Playgroud)
现在,我尝试使用以下 webpack 配置来实现 SSR:
// webpack.server.conf
const path = require("path");
const webpackNodeExternals = require("webpack-node-externals");
module.exports = {
target: "node",
entry: "./server/index.tsx",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "build-server"),
},
resolve: {
extensions: [".ts", ".tsx", ".js"],
modules: [path.resolve(__dirname, "src"), "node_modules"],
},
externals: [webpackNodeExternals()], // excludes node modules in Webpack
module: {
rules: [
{
test: /\.tsx?$/,
loader: "ts-loader",
options: {
configFile: "tsconfig.server.json",
},
},
// we …Run Code Online (Sandbox Code Playgroud) 我正在使用 Material ui 和 nextjs 构建一个 React 应用程序。我正在使用<Autocomplete />由 Material UI 提供的组件,并用我自己的样式覆盖它的一些样式,如下所示:
<Autocomplete
classes={{
root: `${styles[`search__autocomplete`]} ${
styles[`search--${variant}__autocomplete`]
}`,
inputRoot: `${styles[`search__autocomplete-input`]} ${
styles[`search--${variant}__autocomplete-input`]
}`
}}
/>
Run Code Online (Sandbox Code Playgroud)
variant是一个 prop,它被传递给组件,并且是一个变量,它从css 模块styles导入:。import styles from "Search.module.sass"
现在,当我在本地进行此操作时,一切看起来都很棒:
但是,当我通过将其部署到生产环境后,next build && next export我开始遇到“闪烁”效果,大约 1/3 秒时我的页面如下所示:
我的猜测是,这可能与 nextjs 将我的 css 导出到生产中的多个文件有关:
<link
rel="preload"
href="/_next/static/css/4dcd7fa805fb41261f08.css"
as="style"
/>
<link
rel="stylesheet"
href="/_next/static/css/4dcd7fa805fb41261f08.css"
data-n-g=""
/>
<link
rel="preload"
href="/_next/static/css/a23cf79bceae4047fddb.css"
as="style"
/>
<link
rel="stylesheet"
href="/_next/static/css/a23cf79bceae4047fddb.css"
data-n-p=""
/>
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我在 Admin 命名空间下使用 2 个操作创建了语言控制器:索引和切换(由“rails g”创建),但是当我尝试加载管理/语言/索引时,出现以下错误:
Admin::LanguageController#index 中的名称错误
未初始化常量语言
看起来 Rails 正在寻找语言模型,是吗?如果我无意创建语言模型,我该如何解决它?
语言控制器.rb:
class Admin::LanguageController < ApplicationController
def index
end
def toggle
end
end
Run Code Online (Sandbox Code Playgroud) 使用 ActiveRecord 时,可以看到加载页面时执行的所有 SQL 查询。如何与 Mongoid 5 实现相同的目标?
我有一个对象文字:
const map = (filter: Filter) => {
return {
[Filter.USERS]: {
fetch: async () => getUsers(),
set: setUsers,
},
[Filter.FIRMS]: {
fetch: async () => getFirms(),
set: setFirms,
}
}[filter];
Run Code Online (Sandbox Code Playgroud)
我的状态定义如下:
const [firms, setFirms] = useState<Maybe<FirmsResponse>>(null);
const [users, setUsers] = useState<Maybe<UsersResponse>>(null);
const [filter, setFilter] = useState<Filter>(Filter.USERS)
Run Code Online (Sandbox Code Playgroud)
我想使用我的对象:
const currentFilter = map(filter);
const response = currentFilter.fetch();
currentFilter.set(response.data);
// ^^^^^^^^^^^^^^ Here I get a long TS error which boils down to:
// "Type 'UsersResponse' provides no match for the signature …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用这样的外键创建表(使用迁移)
public function safeUp()
{
$this->createTable('tbl_category', array(
'id'=>'pk',
'title'=>'string NOT NULL',
'url'=>'string NOT NULL UNIQUE'
));
$this->addForeignKey('FK_category', 'tbl_product', 'category_id', 'tbl_category', 'id', 'CASCADE', 'NO ACTION');
}
Run Code Online (Sandbox Code Playgroud)
它完全适用于MySQL,但现在我想使用SQLite,这个代码给出了一个错误,在SQLite中我无法将外键添加到现有表中,所以我查看了createTable方法的定义:
public integer createTable(string $table, array $columns, string $options=NULL)
Run Code Online (Sandbox Code Playgroud)
并尝试使用$optionsparam在那里添加我的外键,但它生成了这个:
CREATE TABLE 'tbl_category' (
"id" integer PRIMARY KEY AUTOINCREMENT NOT NULL,
"title" varchar(255) NOT NULL,
"url" varchar(255) NOT NULL UNIQUE
)
CONSTRAINT FK_category
FOREIGN KEY tbl_product(category_id)
REFERENCES tbl_category(id)
ON DELETE CASCADE ON UPDATE NO ACTION
Run Code Online (Sandbox Code Playgroud)
显然,"CONSTRAINT ..."代码应该在这些括号内,但事实并非如此.那么如何创建这个外键呢?
reactjs ×3
activerecord ×1
css-modules ×1
javascript ×1
material-ui ×1
mongodb ×1
mongoid ×1
next.js ×1
react-pdf ×1
sqlite ×1
typescript ×1
webpack ×1
webpack-4 ×1
yii ×1