require.js正在请求HTML文件,但他们提供服务的脚本元素(require.js is re

2019-09-26 20:33发布

我使用的是文本的文本require.js插件! syntaxt渲染XHR响应为HTML格式。

text       : 'libs/require/text' ...

在我的意见我让他们定义为

define([
    'text!templates/categories.html'
    , 'models/Categories'
    , 'views/CategoryView'
    ], ...

一切正常,因为它应该在本地。

然而,当我推此代码到服务器它开始加载* html的作为<script></script>元素。

更进一步,它附加一个.js扩展到.html文件的名称为好。

有什么想法吗? 正在加载的资产是CORS。

Answer 1:

通过强制文字固定的问题! 插件配置为执行送花儿给人CORS。

要做到这一点,我添加了以下内容:

 require.config({
     text: {
          useXhr: function (u,p,h,p) {
               return true;
           }
      }, ...

我猜它是与CORS的问题是正确的。 但直到我把范围缩小到文本插件做我看到它试图加载资产当地。

我还可以通过执行以下操作都rememdied这个问题。

define([
'text!http://location.com/to/external/domain/aka/cors/templates/categories.html'
, 'models/Categories'
, 'views/CategoryView'
], ...

在这里我明确地告诉需要和文本插件将这些文件从远方来加载。

埃里克



文章来源: require.js is requesting html files but serving them as script elements