Aurelia:配置捆绑资产路径的问题

时间:2016-06-23 17:27:42

标签: gulp aurelia jspm

我开始在Aurelia建立一个集成到Clojure项目中的前端。我查看了一些示例项目,虽然我发现它们对概述很有用,但我注意到很多开箱即用的配置都假定项目是root(这是可以理解的)。

当我尝试将其集成到我的项目中并相应地更改路径时,捆绑包正在寻找错误位置的资源 - 路径与项目中的位置相匹配,但不在服务器的公共区域内。目录

例如,我已将应用程序配置为捆绑./resources/public/中的文件,这是构建文件所在的位置(我使用多个预处理器),并捆绑这些文件正确;但是,当我加载页面时,我在JS控制台中收到以下错误:

  

system.src.js:4597获取https://localhost:8443/resources/public/dist/aurelia.js 404(未找到)

正确的路径是localhost:8443 / dist / aurelia.js - 我感觉/ resources / public来自某些配置文件,但是如果我更改了那些捆绑中断。

项目中的相关路径(为简洁而截断):

MyProject
├── gulp
│   ├── bundles.js
│   ├── paths.js
│   └── tasks
│       ├── build.js
│       ├── bundle.js
├── gulpfile.js
├── package.json
├── resources
│   ├── public
│   │   ├── config.js
│   │   ├── css
│   │   ├── dist
│   │   │   ├── app-build.js
│   │   │   └── aurelia.js
│   │   ├── fonts
│   │   ├── html
│   │   ├── img
│   │   ├── index.html
│   │   ├── js
│   │   │   ├── app.js
│   │   └── jspm_packages
│   │       ├── system.js
│   │       ├── github
│   │       └── npm
│   └── src
│       ├── fonts
│       ├── img
│       ├── js
│       ├── pug
│       └── stylus

以下是一些相关的配置,为简洁起见: 的 ./ config.js

  baseURL: "/",
  ...
  paths: {
    "*": "resources/public/*",
    "github:*": "jspm_packages/github/*",
    "npm:*": "jspm_packages/npm/*"
  }

请注意,如果我更改" *"的路径(或完全删除它),运行gulp build时出现以下错误:

  

npm的依赖解析错误:jquery@2.2.4/src/intro.js at   文件:///Users/jszpila/Work/MyProject/resources/public/jspm_packages/npm/jquery@2.2.4/src/intro.js
  MultipleErrors:
  compiler-parse-input:47:1:意外的令牌文件结束
  compiler-parse-input:47:1:意外的令牌文件结束
  compiler-parse-input:47:1:意外的令牌文件结束

./的package.json

  "jspm": {
    "directories": {
      "baseURL": "resources/public"
    },
    "devDependencies": {
      "aurelia-animator-css": "npm:aurelia-animator-css@^1.0.0-beta.1.1.2",
      "aurelia-bootstrapper": "npm:aurelia-bootstrapper@^1.0.0-beta.1.1.4",
      "aurelia-fetch-client": "npm:aurelia-fetch-client@^1.0.0-beta.1.1.1",
      ...
    }
  },

./吞/ bundles.js

  "bundles": {
    "dist/app-build": {
      "includes": [
        "[**/*.js]",
        "**/*.html!text",
        "**/*.css!text"
      ],
      "options": {
        "inject": true,
        "minify": true,
        "depCache": true,
        "rev": false
      }
    },
    "dist/aurelia": {
      "includes": [
        ...
        "fetch",
        "jquery"
      ],
      "options": {
        "inject": true,
        "minify": true,
        "depCache": false,
        "rev": false
      }
    }
  }

./吞/任务/ bundle.js

var config = {
  force: true,
  baseURL: './resources/public/',
  configPath: './resources/public/config.js',
  bundles: bundles.bundles
};

所以我认为可以安全地假设这个错误的路径来自其中一个配置;但是,它们对于工具是正确的 - 只是不是捆绑。我可以单独配置捆绑工具路径和应用程序工具路径,还是我忽略了错误配置?

提前感谢您的帮助!

0 个答案:

没有答案