- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 webpacker gem 构建 Rails 5.2 应用程序。
我按照安装说明进行操作,因此我拥有了 app/javascript/packs/application.js
文件,以及 <%= javascript_pack_tag 'application' %>
在我的布局中。
启动我的 unicorn 服务器后,bin/webpack-dev-server
进程,我正在访问该应用程序,网络浏览器的网络选项卡显示他无法下载 /packs/application-bdddc5e750615fa56298.js
由于来自 webpack 服务器的文件结束错误(500 错误),我的服务器上的文件。
做一个 ls -al
在public/packs
文件夹显示以下内容:
drwxr-xr-x 2 zedtux zedtux 4096 Apr 4 16:35 .
drwxr-xr-x 16 zedtux root 4096 Apr 4 16:35 ..
-rw-r--r-- 1 zedtux zedtux 352 Apr 4 16:35 manifest.json
还有 manifest.json
包含:
{
"application.js": "/packs/application-bdddc5e750615fa56298.js",
"application.js.map": "/packs/js/application-45e23109c9e9d11521f0.hot-update.js.map",
"entrypoints": {
"application": {
"js": [
"/packs/application-bdddc5e750615fa56298.js"
],
"js.map": [
"/packs/application-bdddc5e750615fa56298.js.map",
"/packs/js/application-45e23109c9e9d11521f0.hot-update.js.map"
]
}
}
}
这是我的 config/webpacker.yml
文件:
# Note: You must restart bin/webpack-dev-server for changes to take effect
default: &default
source_path: app/javascript
source_entry_path: packs
public_root_path: public
public_output_path: packs
cache_path: tmp/cache/webpacker
check_yarn_integrity: false
webpack_compile_output: false
# Additional paths webpack should lookup modules
# ['app/assets', 'engine/foo/app/assets']
resolved_paths: []
# Reload manifest.json on all requests so we reload latest compiled packs
cache_manifest: false
# Extract and emit a css file
extract_css: false
static_assets_extensions:
- .jpg
- .jpeg
- .png
- .gif
- .tiff
- .ico
- .svg
- .eot
- .otf
- .ttf
- .woff
- .woff2
extensions:
- .mjs
- .js
- .sass
- .scss
- .css
- .module.sass
- .module.scss
- .module.css
- .png
- .svg
- .gif
- .jpeg
- .jpg
local:
<<: *default
compile: true
# Verifies that versions and hashed value of the package contents in the project's package.json
check_yarn_integrity: true
# Reference: https://webpack.js.org/configuration/dev-server/
dev_server:
https:
key: |
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
cert: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
cacert: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
host: 0.0.0.0
port: 3035
public: 0.0.0.0:3035
hmr: true
# Inline should be set to true if using HMR
inline: true
overlay: true
compress: true
disable_host_check: true
use_local_ip: false
quiet: false
headers:
'Access-Control-Allow-Origin': '*'
watch_options:
ignored: '**/node_modules/**'
test:
<<: *default
compile: true
# Compile test packs to a separate directory
public_output_path: packs-test
production:
<<: *default
# Production depends on precompilation of packs prior to booting for performance.
compile: false
# Extract and emit a css file
extract_css: true
# Cache manifest.json for performance
cache_manifest: true
这个app是用local作为开发环境,所以我把development key重命名为local
顺便说一句,我启用了 hmr
,但即使禁用它,我也会得到相同的结果。
为什么文件夹里没有写文件?我该如何解决这个问题?
当我停止 bin/webpack-dev-server
进程,我重新加载页面,webpack 重新编译,文件在网络浏览器中正确加载。
在新选项卡中打开包 URL 显示 500 错误。我注意到包 URL 缺少 3035 端口。添加它会返回预期的 JavaScript 代码。
那么如何修复它以便包 URL 包含服务器端口?
最佳答案
我终于弄清楚我的设置出了什么问题。
我了解到的第一件事是,在 bin/webpack-dev-server
运行的情况下,当它捕获请求以便为它们提供服务时, Assets 文件不会写入 public/packs
文件夹了。另一方面,当停止服务器时,文件会写入磁盘,因为它们必须由 Rails 提供服务。
然后我意识到一切都与我的环境有关:我正在使用 Docker 和 docker-compose 运行我的应用程序 + 我正在使用 Nginx 反向代理 (jwilder/nginx-proxy)。
我正在使用 docker-compose exec app bin/webpack-dev-server
运行 bin/webpack-dev-server
以使其与 Rails 一起运行.
解决我的问题:
docker-compose.yml
文件中声明了一个新容器,它有一个 VIRTUAL_HOST
等于 webpack.mydomain.co
并监听端口 3035。config/webpacker.yml
文件,不再使用 https
(因为 nginx 正在处理),并更改了 host
和 public
到 webpack.mydomain.co
webpack.mydomain.co
。完成后,页面加载没有任何问题,HMR 工作正常,因为 Hello World from Webpacker
消息在 Chrome 控制台中刷新,而无需重新加载当前页面。
我希望这可以帮助人们:)
关于ruby-on-rails - Webpacker 仅创建 manifest.json 文件,因此缺少 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55518935/
最近开始学习MongoDB。今天老师教了我们 mongoexport 命令。在练习时,我遇到了一个典型的问题,包括教练在内的其他同学都没有遇到过。我在我的 Windows 10 机器上使用 Mongo
我是 JSON Schema 的新手,读过什么是 JSON Schema 等等。但我不知道如何将 JSON Schema 链接到 JSON 以针对该 JSON Schema 进行验证。谁能解释一下?
在 xml 中,我可以在另一个 xml 文件中包含一个文件并使用它。如果您的软件从 xml 获取配置文件但没有任何方法来分离配置,如 apache/ngnix(nginx.conf - site-av
我有一个 JSON 对象,其中包含一个本身是 JSON 对象的字符串。我如何反序列化它? 我希望能够做类似的事情: #[derive(Deserialize)] struct B { c: S
考虑以下 JSON { "a": "{\"b\": 12, \"c\": \"test\"}" } 我想定义一个泛型读取 Reads[Outer[T]]对于这种序列化的 Json import
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 11 个月前关闭。 Improve
我的旧项目在 MySQL 中有 Standard JSON 格式的数据。 对于我在 JS (Node.js) 和 DynamoDB 中的全新项目,关于 Standard JSON格式: 是否建议将其转
JSON 值字符串、数字、true、false、null 是否是有效的 JSON? 即,是 true 一个有效的 JSON 文档?还是必须是数组/对象? 一些验证器接受这个(例如 http://jso
我有一个 JSON 字符串,其中一个字段是文本字段。这个文本字段可以包含用户在 UI 中输入的文本,如果他们输入的文本是 JSON 文本,也许是为了说明一些编码,我需要对他们的文本进行编码,以便它不会
我正在通过 IBM MQ 调用处理数据,当由 ColdFusion 10 (10,0,11,285437) 序列化时,0 将作为 +0.0 返回,它会导致无效的 JSON并且无法反序列化。 stPol
我正在从三个数组中生成一个散列,然后尝试构建一个 json。我通过 json object has array 成功了。 require 'json' A = [['A1', 'A2', 'A3'],
我从 API 接收 JSON,响应可以是 30 种类型之一。每种类型都有一组唯一的字段,但所有响应都有一个字段 type 说明它是哪种类型。 我的方法是使用serde .我为每种响应类型创建一个结构并
我正在下载一个 JSON 文件,我已将其检查为带有“https://jsonlint.com”的有效 JSON 到文档目录。然后我打开文件并再次检查,结果显示为无效的 JSON。这怎么可能????这是
我正在尝试根据从 API 接收到的数据动态创建一个 JSON 对象。 收到的示例数据:将数据解码到下面给出的 CiItems 结构中 { "class_name": "test", "
我想从字符串转换为对象。 来自 {"key1": "{\n \"key2\": \"value2\",\n \"key3\": {\n \"key4\": \"value4\"\n }\n
目前我正在使用以下代码将嵌套的 json 转换为扁平化的 json: import ( "fmt" "github.com/nytlabs/gojsonexplode" ) func
我有一个使用来自第三方 API 的数据的应用程序。我需要将 json 解码为一个结构,这需要该结构具有“传入”json 字段的 json 标签。传出的 json 字段具有不同的命名约定,因此我需要不同
我想使用 JSON 架构来验证某些值。我有两个对象,称它们为 trackedItems 和 trackedItemGroups。 trackedItemGroups 是组名称和 trackedItem
考虑以下案例类模式, case class Y (a: String, b: String) case class X (dummy: String, b: Y) 字段b是可选的,我的一些数据集没有字
我正在存储 cat ~/path/to/file/blah | 的输出jq tojson 在一个变量中,稍后在带有 JSON 内容的 curl POST 中使用。它运作良好,但它删除了所有换行符。我知
我是一名优秀的程序员,十分优秀!