FountainJS / generator-fountain-angular1

Yeoman 'fountain' generator to start a webapp with Angular 1
http://fountainjs.io
MIT License
95 stars 34 forks source link

component subgenerator breaks production build with webpack #67

Closed chilihead closed 7 years ago

chilihead commented 7 years ago

Prerequisites

The fountain-angular1:component subgenerator creates something like this:

class MainWrapperController {
  constructor() {
    this.text = 'MainWrapper!';
  }
}

export const mainWrapper = {
  templateUrl: 'app/containers/MainWrapper.html',
  controller: MainWrapperController
};

Description

Webpack doesnt parse the templateUrl in above code sample and it doesn't bundle the template file thus serve:dist doesn't work properly (errors below). The correct code should look like this:

import tpl from './MainWrapper.html';

class MainWrapperController {
  constructor() {
    this.text = 'MainWrapper!';
  }
}

export const mainWrapper = {
  template: tpl,
  controller: MainWrapperController
};

Error Message & Stack Trace

GET http://localhost:3000/app/containers/MainWrapper.html 404 (Not Found)
Error: [$compile:tpload] Failed to load template: app/containers/MainWrapper.html (HTTP status: 404 Not Found)
http://errors.angularjs.org/1.5.8/$compile/tpload?p0=app%2Fcontainers%2FMainWrapper.html&p1=404&p2=Not%20Found
    at vendor-80bbc66….js:21
    at handleError (vendor-80bbc66….js:25)
    at processQueue (vendor-80bbc66….js:25)
    at vendor-80bbc66….js:25
    at Scope.$eval (vendor-80bbc66….js:25)
    at Scope.$digest (vendor-80bbc66….js:25)
    at Scope.$apply (vendor-80bbc66….js:25)
    at done (vendor-80bbc66….js:24)
    at completeRequest (vendor-80bbc66….js:24)
    at XMLHttpRequest.xhr.onload (vendor-80bbc66….js:24)

Config

{
  "generator-fountain-angular1": {
    "version": "1.0.0-rc1",
    "props": {
      "resolved": "...",
      "namespace": "fountain-angular1:app",
      "argv": {
        "remain": [],
        "cooked": [],
        "original": []
      },
      "framework": "angular1",
      "modules": "webpack",
      "css": "scss",
      "js": "babel",
      "ci": [],
      "sample": "hello",
      "router": "uirouter"
    }
  }
}

Environment

Node.js v6.7.0
win32 10.0.14393
yo v1.8.5
npm v3.10.3