首页 > 解决方案 > 用于生产的 ExtJs 7(社区)npm 构建不起作用

问题描述

我在 ExtJs 7.0.0-CE 上有一个应用程序,它在使用npm run dev运行的webpack-dev-server本地运行良好,但是当我构建为生产并将其复制到 IIS 时却没有。

我正在使用 npm 构建:

npm 运行构建

输出结果为:

在此处输入图像描述

我观察到的是我调用的 URL 是“http://myserver/indicators”,但 Ext 尝试仅使用基本 URL“http://myserver/”进行加载。

在此处输入图像描述

浏览器控制台显示:

GET http://192.168.10.211/main.js?da2a6a29bf9e7731b19e net::ERR_ABORTED 404(未找到)

我认为 get 应该包括虚拟路径,例如:

获取http://192.168.10.211/indicators/main.js?da2a6a29bf9e7731b19e

下面我放了一些可能相关的配置文件。

应用程序.json

包.json

应用程序.js

应用程序.js: Ext.application({ extend: 'paineis.Application', name: 'paineis'});

标签: node.jsnpmextjs

解决方案


问题是我怀疑的,没有虚拟路径的基本 url。

<base href="/">解决方案是在构建应用程序之前从应用程序根文件夹的 Index.html 中删除标记。

从:

<!DOCTYPE HTML>
<html manifest="">
<head><base href="/">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
.
.
.

至:

<!DOCTYPE HTML>
<html manifest="">
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
.
.
.

删除它后,工作正常,找到所有文件并且应用程序工作正常!


推荐阅读