2015-06-12 7 views
5

मैं angular uploader का उपयोग करने का प्रयास करता हूं जो इसे npm का उपयोग करके डाउनलोड करता है और बाद में इसे सभी फ़ाइल में ब्राउज़र बनाता है। त्रुटि विवरण hereत्रुटि: [ng: areq] तर्क 'मॉड्यूल' एक फ़ंक्शन नहीं है, ऑब्जेक्ट

मैं त्रुटियों को समझ नहीं पा रहा हूं क्योंकि अब भी मैं AngularJS के लिए नया हूं। यहाँ मेरी कोड

var angular = require('angular'); 
angular 
    .module('jobApp', [require('angular-material'), require('ng-file-upload')]) 
    .controller('MainCtrl', ['$rootScope', '$scope', '$mdToast', '$animate', '$http', '$timeout', '$q', '$log', 'Upload', 
     function($rootScope, $scope, $mdToast, $animate, $http, $timeout, $q, $log, Upload) { 
     'use strict'; 
     // Initialize the scope variables 
     $scope.$watch('files', function() { 
      $scope.upload($scope.files); 
     }); 
     $scope.upload = function (files) { 
      if (files && files.length) { 
       for (var i = 0; i < files.length; i++) { 
        var file = files[i]; 
        Upload.upload({ 
         url: 'http://sr-recruit.herokuapp.com/resumes', 
         fields: { 
          'name': $scope.name, 
          'email': $scope.email, 
          'about': $scope.about 
         }, 
         file: file 
        }).progress(function (evt) { 
         var progressPercentage = parseInt(100.0 * evt.loaded/evt.total); 
         $scope.log = 'progress: ' + progressPercentage + '% ' + 
            evt.config.file.name + '\n' + $scope.log; 
        }).success(function (data, status, headers, config) { 
         $scope.log = 'file ' + config.file.name + 'uploaded. Response: ' + JSON.stringify(data) + '\n' + $scope.log; 
         $scope.$apply(); 
        }); 
       } 
      } 
     }; 
    }]); 

अद्यतन

अब Browserify-शिम उपयोग कर रहा हूँ ठीक से Commonjs प्रारूप में कोणीय-फ़ाइल-अपलोड संलग्न है। @ एरियन जॉनसन के लिए धन्यवाद।

यहाँ package.json

{ 
    "browser": { 
     "angular": "./node_modules/angular/angular.js", 
     "ng-file-upload": "./node_modules/ng-file-upload/dist/ng-file-upload-all.js" 
    }, 
    "browserify-shim": { 
     "angular": { 
      "exports": "angular" 
     },  
     "ng-file-upload": { 
      "exports": "angular.module('ngFileUpload').name" 
     } 
    }, 
    "browserify": { 
     "transform": [ 
      "browserify-shim" 
     ] 
    } 
} 

मैं अभी भी त्रुटि

TypeError: Cannot read property '' of undefined 

सुनिश्चित नहीं हैं कि क्यों है। एफवाईआई मैं कार्य चलाने के लिए ब्राउज़र में निर्मित Laravel-elixir का उपयोग करता हूं।

+0

* * आवश्यक * सरणी ('मॉड्यूल' के लिए दूसरा तर्क) स्ट्रिंग्स – Phil

+0

की सरणी होनी चाहिए आपका क्या मतलब है? '। मॉड्यूल ('jobApp', [आवश्यकता ('कोणीय-सामग्री'), की आवश्यकता है ('ng-file-upload')] '? – Muhaimin

+0

यह होना चाहिए। मॉड्यूल ('jobApp', ['ngMaterial', 'ngFileUpload']) '। मुझे यकीन नहीं है कि उन निर्यात के नोड मॉड्यूल संस्करण क्या हैं लेकिन मुझे लगता है कि यह एक स्ट्रिंग नहीं है (केवल एनजी-फाइल-अपलोड की जांच की गई है और इसमें कोई मॉड्यूल निर्यात नहीं है) – Phil

उत्तर

15

मैंने देखा कि आप मॉड्यूल को शामिल करने के लिए require('ng-file-upload') का उपयोग कर रहे हैं। भले ही ng-file-upload मॉड्यूल एनपीएम के माध्यम से उपलब्ध है, डाउनलोड की गई जेएस फाइलें सामान्य जेएस प्रारूप में नहीं हैं।

require('ng-file-upload') के लिए के लिए अपने उदाहरण में काम करने के लिए

स्रोत फ़ाइल तो जैसे मॉड्यूल निर्यात करने के लिए की आवश्यकता होगी: चूंकि यह आप भी शामिल कर रहे फ़ाइल के लिए मामले में आप इसे shim करने की जरूरत नहीं है

module.exports = angular.module('ng-file-upload').name; 

ब्राउज़रify के साथ काम करने के लिए। Properly shim AngularJS applications using Browserify पर एक अच्छा लेख यहां दिया गया है।

+0

FYI काम नहीं कर रहा है, मैं laravel-elixir-browserify फ़ंक्शन का उपयोग करता हूं। क्योंकि मैंने सोचा था कि यह स्वचालित रूप से इसे भी ब्राउज़र करेगा। मैं angularjs को प्रबंधित करने के लिए एनपीएम का उपयोग करता हूं और मुझे नहीं लगता कि इसे ब्राउज़र बनाने में समस्या है – Muhaimin

+0

@MuhaiminAbdul ऐसा इसलिए है क्योंकि कोणीय नोड मॉड्यूल में 'index.exs = 'ngMaterial'' – Phil

+0

जैसी चीजों के साथ' index.js' फ़ाइलें हैं I इसे शिम करें लेकिन कोई भाग्य नहीं है क्योंकि यह अन्य त्रुटि 'टाइप एरर: अपरिभाषित' की संपत्ति नहीं पढ़ सकता है ' – Muhaimin

संबंधित मुद्दे

 संबंधित मुद्दे