Search code examples
ember.jsember-cliember-components

Im getting a broccoli error when compiling


I run ember s and get the following:

ember s
version: 2.4.2
Livereload server on http://localhost:49152
Serving on http://localhost:4200/
The Broccoli Plugin: [TemplateCompiler] failed with:
Error: EEXIST: file already exists, symlink '/Users/myname/Documents/source-code/route-app/tmp/template_compiler-input_base_path-knvK6YsL.tmp/0/route-app/templates/components/event-form.js' -> '/Users/myname/Documents/source-code/route-app/tmp/template_compiler-output_path-nJ5NYRH1.tmp/route-app/templates/components/event-form.js'
at Error (native)
at Object.fs.symlinkSync (fs.js:897:18)

I created these files by hand and I did not use ember g. Here is my compoent's hbs and js files:

hbs file:

<h2>Add New Event</h2>

<form {{action 'addEvent' on='submit'}}>
 <div>
   <label for="">Event Date</label>
   {{input value=event.date}}
   <label for="">Event Name</label>
   {{input value=event.name}}
   <label for="">City</label>
   {{input value=event.city}}
   <label for="">State</label>
   {{input value=event.state}}
</div>
<button type="submit">Add Event</button>
</form>

js file:

import Ember from 'ember';

export default Ember.Component.extend ({
  actions:
  {
    addEvent: function() {
      this.sendAction('action', this.event);
    }
  }
});

Both are in the ../templates/components directory.

Any idea what I am doing wrong? Is this component a reserved name or something? I'm lost!


Solution

  • Js file has to be placed in '../components' directory.

    The template will be converted to a js file in 'template' directory, but a js file already exists in your case.