3

I'm starting to build a front-end in Aurelia that is integrated into a Clojure project. I checked out some example projects and while I did find them useful for an overview, I've noticed that a lot of the out-of-the-box configurations assume the project is at root (which is understandable).

When I try to integrate this into my project and change the paths accordingly, the bundle is looking for resources in the wrong place - with a path that matches their location in the project, but not within the server's public directory.

For example, I have configured the application to bundle files that are in ./resources/public/, which is where the built files are located (I'm using several pre-processors), and these files are bundled correctly; however, when I load the page, I get the following error in my JS console:

system.src.js:4597 GET https://localhost:8443/resources/public/dist/aurelia.js 404 (Not Found)

The correct path is localhost:8443/dist/aurelia.js - I have a feeling that the /resources/public is coming from some configuration files, but if I change those the bundling breaks.

Relevant paths in the project are (truncated for brevity):

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

Here are some of the pertinent configurations, trimmed for brevity:
./config.js

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

Note that if I change the path for "*" (or remove it entirely), I get the following error when running gulp build:

Error on dependency parsing for npm:jquery@2.2.4/src/intro.js at file:///Users/jszpila/Work/MyProject/resources/public/jspm_packages/npm/jquery@2.2.4/src/intro.js
MultipleErrors:
compiler-parse-input:47:1: Unexpected token End of File
compiler-parse-input:47:1: Unexpected token End of File
compiler-parse-input:47:1: Unexpected token End of File

./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",
      ...
    }
  },

./gulp/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
      }
    }
  }

./gulp/tasks/bundle.js

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

So I think it's safe to assume that this incorrect path is coming from one of those configurations; however, they are correct for the tooling - just not the bundle. Can I configure the bundling tool paths and the application tool paths separately, or am I overlooking a misconfiguration?

Thanks in advance for any help!

jszpila
  • 676
  • 9
  • 24

0 Answers0