Jack Murphy
Jack Murphy

Reputation: 3020

pub serve not finding files under lib

I'm testing with the developer preview of Angular Version 2 and serving it up using pub serve

I would like to estalblish a convention to structure my files inside /lib/ as follows:

└── project/lib/root
    ├── root.css
    ├── root.dart
    └── root.html
└── project/web/
    ├── index.html
    └── index.dart

In my /web/index.dart file i am successfully able to initialize the @View and @Component from root.dart

However, when i preview in Dartium via pub serve - i can't seem to serve up /lib/root/root.html

@Component(
    selector: 'jroot'
)
@View(
    templateUrl: '../../lib/root/root.html',
    directives: const [If]
)
class Root {
  String content = 'Root - This is the entry point to the component';
  List<Times> list;

  Root(){
    print('RootComponent Init');
  }
}

Dartium Console:

GET http://localhost:8080/lib/root/root.html 404 (Not Found)

I've been reading the documents for polymer here which states:

"Non-Dart files under lib must use relative paths to import assets under lib:"

https://www.dartlang.org/polymer/app-directories.html

<!-- lib/a5/a6/a6.html imports lib/a4.html -->
<link rel="import" href="../../a4.html">

Running a python simple web server seems to work, so the problems is with pub serve:

python -m SimpleHTTPServer

Question: How do a configure pub serve to work with nested html files from the lib folder?

Upvotes: 4

Views: 122

Answers (1)

G&#252;nter Z&#246;chbauer
G&#252;nter Z&#246;chbauer

Reputation: 657018

Ensure you have the proper entry points on your pubspec.yaml transformers:

name: 'project'
version: 0.0.1
dependencies:
  angular2: '2.0.0-alpha.23'
  browser: any
transformers:
- angular2:
    entry_points:
        - web/index.dart  //this
    reflection_entry_points:
        - web/index.dart  //this

Then I think this should work

templateUrl: 'packages/project/root/root.html',

or just

templateUrl: 'root.html',

Upvotes: 3

Related Questions