2013-02-25 19 views
7

Gibt es eine Konfigurationsdatei oder etwas, das wir in Yeoman ändern können, das das "app" -Verzeichnis auf etwas anderes setzen würde? Ich arbeite mit Zend Framework 2 und verwendet das "public" -Verzeichnis, da der Root-Verantwortliche "app" verwendet.Ändern Sie den Namen des Anwendungsordners yeoman

Ich sehe, dass ich Verzeichnisnamen in der Grunt.js-Datei kann, aber es wäre nett, die Standardeinstellungen in Yeoman zurückzusetzen.

+4

Bitte nicht enthalten "Jede Eingabe wird sehr geschätzt." in deiner Frage. Es ist nutzloses Geräusch. – Doorknob

+0

In welcher Version von Yeoman liegst du? –

+0

Yeoman Version 0.9.6 –

Antwort

4

Mit der Version 1.4.7:

1) Für App-Verzeichnis:

Gruntfile.js:

var appConfig = { 
    app: require('./bower.json').appPath || 'app', 
    dist: 'www' 
}; 

index.html:

<!-- build:js({.tmp,app}) scripts/scripts.js --> 

Bower.json:

"appPath": "app" 

Test/karma.conf.js

'app/scripts/**/*.js' 

2) für die dist-Verzeichnis:

Nur in Gruntfile.js

var appConfig = { 
    app: require('./bower.json').appPath || 'app', 
    dist: 'www' 
}; 
7

Sie möchten die Gruntfile.js Einstellungen ändern, ab Version 1.0 ist alles hier aufgelistet, und Build wird nur von Grunt durchgeführt.

Als sie auf dem website schreiben:

Yo Gerüste eine neue Anwendung aus, Ihre Grunt Konfiguration und ziehen in entsprechenden Grunt Aufgaben zu schreiben, die Sie für Ihre Build benötigen.

Bower wird für die Abhängigkeitsverwaltung verwendet, so dass Sie nicht mehr Ihre Skripts manuell herunterladen und verwalten müssen.

Grunt ist gewohnt, bauen, Vorschau und testen Sie Ihr Projekt, dank Hilfe von Aufgaben kuratiert von der Yeoman-Team und grunt-contrib.

Ich kann mich nicht erinnern, wo die alten Einstellungen im gruntfile war, aber in der Version 1.0 ist in Zeile 11 und sieht wie folgt aus:

// configurable paths 
var yeomanConfig = { 
    app: 'app', 
    dist: 'dist' 
}; 
+0

Wenn ich 'Gruntfile.js' betrachte, erscheint' App' an einigen anderen Orten. Was war Linie 11 jetzt ** 18 **. Es gibt auch 61 und 142. Müssen diese Zeilen auch aktualisiert werden? – curtisblackwell

1

Update 1.0 und bearbeiten Sie Ihre Gruntfile.js

// configurable paths 
var yeomanConfig = { 
    **app: 'app',** 
    dist: 'dist' 
}; 
+0

Ich bin auf Windows und es gibt keine Veröffentlichung für Windows noch von der Beta 1.0 :( –

+0

Interessieren Sie sich für den "Server" oder "dist" Build? Wenn Sie sich für den dist build interessieren, können Sie den grunzen- contibr-copy Paket um "app" auf "public" zu verschieben –

+0

"dev" also ich denke "server" –

0

Sorry für diese wieder zu beleben, aber ich habe ein paar Stellen gefunden, die dies ändern muss, und das Gefühl, dass ich einen gewissen Wert hinzufügen:

Ich benutze Laravel, das eine App und einen öffentlichen Ordner verwendet und nie Zend verwendet habe, gehe aber davon aus, dass etwas Ähnliches gelten sollte.

Installation erzeugt Yeoman App in yeoman:

/[zendapproot]/

mkdir yeoman && cd yeoman 
yo angular [appName] 

/[zendapproot]/Yeoman/

append contents of `/[zendapproot]/yeoman/.gitignore` into `/[zendapproot]/.gitignore` 
move everything except the app directory into /[zendapproot]/ 

bearbeiten .bowerrc

{ 
"directory": "yeoman/app/bower_components" 
} 

bearbeiten Gruntfile.js App und dist Ordner grunt test

yeoman: { 
    // configurable paths 
    app: require('./bower.json').appPath || 'yeoman', 
    dist: 'public/assets' 
}, 

bearbeiten karma.conf.js

files: [ 
    'yeoman/app/bower_components/angular/angular.js', 
    'yeoman/app/bower_components/angular-mocks/angular-mocks.js', 
    'yeoman/app/bower_components/angular-resource/angular-resource.js', 
    'yeoman/app/bower_components/angular-cookies/angular-cookies.js', 
    'yeoman/app/bower_components/angular-sanitize/angular-sanitize.js', 
    'yeoman/app/bower_components/angular-route/angular-route.js', 
    'yeoman/app/scripts/*.js', 
    'yeoman/app/scripts/**/*.js', 
    'yeoman/app/test/mock/**/*.js', 
    'yeoman/app/test/spec/**/*.js' 
], 

Lauf zu ändern, dass die Prüfung, um sicherzustellen, arbeitet.

Lauf grunt serve die Webapp in einem Test env

laufen grunt zu bauen zu dienen, die die App in public/assets

Nun speichern sollte dies der Teil ist, ich bin nicht sicher, ...

Derzeit entferne ich htmlmin und rev von grunt.registerTask('build'... in Gruntfile.js, um HTML-Minification zu stoppen und zu verhindern, dass Assets umbenannt werden.

ich dann mein Master View-Template von Laravel (Zend in Ihrem Fall) öffnen und die Scripte und Stile ändern index.html /public/assets/index.html

gebaut, dass in dem Grunzen vorgesehen Wenn jemand einen besseren Weg zur Bewältigung hat das oben, bitte teilen. z.B. in Bezug auf die Übergabe der umbenannten Asset-Dateinamen an die Anwendungsansichtsvorlagen von zend/laravel.

2

für Angular Generator Version 0.9.5 funktioniert bei mir:

  • ändern Ordnernamen von zu App alles, was Sie brauchen, zum Beispiel 'ClientApp'
  • bearbeiten gruntfile.js, Änderung in appconfig App: 'ClientApp'
  • bearbeiten bower.json Änderungslinie "appPath": "ClientApp"
  • in umbenannten Ordner finden index.html, dann finden und bearbeiten Teil in Kommentar

    build: js ({. Tmp, ClientApp}) scripts/scripts.js

  • im Ordner Test karma.conf.js und ändern App 'ClientApp' in Dateien Abschnitt

0

finden Sie beim Erstellen ein neues Projekt (für Winkelzumindest), gibt es eine cmd Linie arg hierfür: --appPath = [newpath]:

yo angular --appPath=public 

Wie die dist Ordnernamen ändern:

Zusätzlich für alle, die hier nach dem Ändern des Dist-Ordnernamens suchen (wie ich): Es gibt keine cmd Linie arg, die ich finden konnte, so müssen Sie Gruntfile.js in Zeile 21 manuell bearbeiten nach dem Projekt zu erstellen, aber bevor Grunzen ausgeführt wird:

// Configurable paths for the application 
var appConfig = { 
    app: require('./bower.json').appPath || 'app', 
    //dist: 'dist' 
    dist: 'public' 
}; 
Verwandte Themen