- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以我有一个 create-react-app-ts
应用程序,我想将其 Dockerize 并托管在 Zeit Now 上。
在本地一切正常,运行 yarn tsc
和 react-scripts-ts build
效果很好。
通过以下 Dockerfile 创建 Docker 镜像也很有效:
FROM mhart/alpine-node:10.9
WORKDIR /usr/src
ARG REACT_APP_API_ENDPOINT
ARG NODE_ENV
COPY yarn.lock package.json ./
RUN yarn
COPY . .
RUN yarn build && mv build /public
但是,当发布到 Now 时,构建脚本在 Typescript 编译时失败,为项目中的大多数文件输出编译错误。
如果我在 WORKDIR...
上方的 Dockerfile 中设置 ENV NODE_ENV production
,我也可以在本地重现它。
所以当 NODE_ENV=production
时,Typescript 或 react-scripts-ts
的行为似乎有所不同。以前没遇到过这个错误,不知道怎么调试。运行 NODE_ENV=production tsc
或 NODE_ENV=production react-scripts-ts build
在本地也能正常工作。
我正在使用以下配置运行 Typescript v 3.0.1:
{
"compilerOptions": {
"baseUrl": ".",
"outDir": "build/dist",
"module": "esnext",
"target": "es6",
"lib": ["es6", "dom", "esnext.asynciterable"],
"sourceMap": true,
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"rootDir": "src",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": true,
"allowSyntheticDefaultImports": true,
"strict": true
},
"exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts"]
}
如有任何建议,我们将不胜感激! :)
编辑:将环境变量参数添加到 Dockerfile。它最初是为了简洁而被忽略,但它最终成为问题和解决方案的一部分
最佳答案
终于找到问题了!在我原来的 Dockerfile
中,NODE_ENV
是在 yarn install
之前设置的。这意味着对于生产构建,yarn
不会安装 devDependencies
,因此也不会安装我的任何 @types
库。这导致了整个项目的所有编译错误。
在 Dockerfile
中移动 NODE_ENV
yarn install
的定义解决了这个问题。
FROM mhart/alpine-node:10.9
WORKDIR /usr/src
COPY yarn.lock package.json ./
RUN yarn
ARG REACT_APP_API_ENDPOINT
ARG NODE_ENV
COPY . .
RUN yarn build && mv build /public
注意:据我所知,yarn build
将确保再次删除 devDependencies
,所以不要担心这会使您的构建膨胀。 :)
关于当 NODE_ENV=production 时,Typescript 编译失败(在 Docker 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52007806/
这个问题我已经问了自己很长一段时间了,所以我决定在这里问你们。 假设我有一个 Shop 对象,其中包含一个 ProductList 对象作为实例变量。我的 Shop 对象的核心功能当然是能够添加 Pr
我正在做应用内购买功能。今天我遇到了一个奇怪的问题。 我尝试通过 SKProductsRequest 获取列表产品。问题是:有时我收到 invalidProductIdentifiers,但有时我收到
假设您有一个名为 Product 的表,它有一个自动编号/标识列。您将其简单命名为 Id 还是将其命名为 ProductId 或 Product_Id?请解释原因。 最佳答案 没有明确的答案,因为这取
假设我销售多个产品。有时,product 实际上是其他product 的组合。例如,假设我正在销售: 热狗 苏打水 热狗+汽水组合 我应该如何建模这样的东西?我是否应该有一个 product 表来列出
有人可以建议为用户可以购买某些产品的页面添加正确的 Schema.org 标记的最佳方法吗?我正在那里添加 Product 标签(用于 Rich Snippets)。 我想增加询问有关该产品的问题的可
我正在尝试在 xml 表中查找一些数据。 如果像这样删除命名空间,我可以从 xml 中获取数据: $nodes = $data->xpath('//Products/Product/produ
我很喜欢这个程序。有人可以告诉我我做错了什么吗?该程序提示用户输入产品目录中的产品数量。然后程序应提示用户输入产品目录中每个产品的名称和价格。输入所有产品后,程序应输出目录中最昂贵产品的产品信息(名称
我有一个表 product(id, name),其中包含几组产品,型号不同。即 {motor10、motor20、motor30、pipe10、pipe20、pipe30、wrench12、wrenc
这里我声明了产品类变量并分配了它。 产品.java public class Product { String[] name= new String[100]; int price;
我在构建服务器之一上遇到此错误。所有其他服务器都可以正常构建。有什么想法可能是错误的吗? 最佳答案 我也有此错误,它似乎是在创建新设置时从Wix自动生成的新事物。当我从3.5升级到3.6时,Wix不喜
我想在同一个模型中制作字段product.product 假设 A 取决于 lst_price of product.product . 如果用户未设置 A 的值,则取 lst_price 但如果用户
我有一个以类别和产品作为属性的列表,我希望将属于不同列表中的类别的所有产品分开。 目前我有这个 Products products = new Products(); products
我们正在构建一个网络数据库系统,我们需要允许某些产品由其他产品制成。例如,将 2 个或多个产品组合为新产品。我们正在使用 CakePhp 和 MySQL。 这是我们数据库的数据结构图: https:/
我想给这段代码添加样式: 我试着这样说: 'font-weight:bold;')); ?> 但它给我这个错误信息: 警告 (2):htmlspecialchars() 期望参数 4 为 bool
我正在使用 Ruby on Rails 构建一个主要用于存储产品的数据库。我主要关心的问题之一是,在未来,我希望能够知道这两种产品的兼容性。 我不知道如何以“Rails 方式”构建它。首先,我正在考虑
如果我错了,请纠正我,但据我从文档中理解, --env option ONLY 用于能够在 webpack.config.js 内访问它如果它导出一个函数,例如 module.exports = fu
我正在尝试将 Commerce 产品类型绑定(bind)到我自己的自定义类型节点(用作显示节点)。目标是在尽可能少的地方输入新数据。因此,我正在探索在创建另一种类型时基于规则创建一种类型。似乎两个方向
我想弄清楚如何重命名或翻译 /product/和 /product-category/ WooCommerce 中的蛞蝓。 我不想完全删除它们,我只想将它们重命名为 /lesson/和 /lesson
我在 Google Search Console 中收到一条警告,指出“未提供全局标识符(例如 gtin、mpn、isbn)”。问题是,我的产品没有这样的东西。关于如何向 Google 表明不存在此类
我正在寻找 Julia 中元素矩阵乘法的就地实现,又名 Schur 乘积,又名 Hadamard 乘积。 它可以通过 A .* B 分配来执行,但我不能在每次执行此操作时分配额外的内存。 当然我可以自
我是一名优秀的程序员,十分优秀!