2016-07-06 18 views
3

Ich versuche node-geocoder zu verwenden, die verwendet require so installiere ich browserify von sudo npm install -g browserify, und ich glaube, ich bin stecken auf alle durch browserify <some_file>.js -o src/assets/bundle.js bündeln. Ich bin nicht sicher, welche Datei ich wählen sollte, so entschied ich mich, dass waren ich will node-geocoder (create.controller.js) verwenden Schließlich habe ich <script src="bundle.js"></script> meiner index.html Aber ich habe noch immer ReferenceReference: erfordern nicht definiert ist - browserify - Generator-Winkel

angular.js:13550 ReferenceError: require is not defined 
    at new CreateController 

create.controller.js

(function() { 
    'use strict'; 

    angular 
    .module('untitled') 
    .controller('CreateController', CreateController); 

    /** @ngInject */ 
    function CreateController($http, $log) { 

    var NodeGeocoder = require('node-geocoder'); 

    var options = { 
     provider: 'google', 
     httpAdapter: 'https', // Default 
     apiKey: 'myApiKey', 
     formatter: 'string' 
    }; 

    var geocoder = NodeGeocoder(options); 


    geocoder.geocode('29 champs elysée paris') 
     .then(function(res) { 
     console.log(res); 
     }) 
     .catch(function(err) { 
     console.log(err); 
     }); 

Ich benutze generator-angular Ich bin sehr neu bei JS und all diesen Frameworks, so hoffe ich, dass ich alle benötigten Informationen veröffentlicht.

+1

so der Einstiegspunkt für browserify sollte die erste Datei sein, die Abhängigkeiten erfordern beginnt. Ich bin nicht sicher, wie der Rest Ihres Projekts eingerichtet ist, aber ich denke nicht, dass Sie nur browserify auf einem Controller verwenden und es über ein Skript-Tag einschließen können und erwarten, dass es mit dem Rest Ihrer App funktioniert, die browserify nicht verwendet . Wenn man sich auch das Node-Geocoder-Modul anschaut, sagt es nichts darüber aus, dass es auf der Client-Seite arbeitet, so dass selbst wenn es funktioniert, dieses Modul von Dingen abhängen kann, die nur in Node verfügbar sind. –

+0

Das ist sehr wichtig, dass einige Plugins auf der Client-Seite nicht funktionieren. Ich denke, ich werde einfach nach anderen Plugins suchen oder einfach nur Google Geocoder verwenden. Momentan denke ich, dass ich dazu keine Erfahrung habe. –

Antwort