2013-03-20 13 views
11

Başlık, benim inline ihtiyacımın gerektirdiğine göre, aramalar, optimize edilmemiş talepler için çalışıyor, ancak grunt ve badmonds ile çalışıldığında çalışmaz.Inline require() requirejs içinde çalışıyor ancak optimize edilmiş badem yapımı ile değil

Uncaught Error: undefined missing views/some/view 

herhangi bir dosyanın üst olabilir:

define(
['jquery', 'app'], 
function($, App) { 

ve daha sonra ben alternatif sözdizimi çalıştı

require(['views/some/view'], function(SomeView){ 
    console.log(SomeView); 
}); 

başka bir dosya gerektiren edebilmek isteyen iş mantığına dayanan üzerinde ayrıca şu şekilde:

var SomeView= require('views/some/view'); 

Ve bu, tümleşik bir requirejs sürümünü kullanarak çalışır. Ama yine ben hırıltı ve badem ile oluştururken başarısız

requirejs: { 
     compile: { 
      options: { 
       name: "../components/almond/almond", 
       baseUrl: "src", 
       mainConfigFile: "./require.config.js", 
       include: ['main'], 
       insertRequire: ['main'], // Add a require step in at the end for the main module. 
       wrap: true, // Wrap everything up in a closure 
       generateSourceMaps: true, // Experimental 
       preserveLicenseComments: false, // Needs turned off for generateSourceMaps 
       optimize: "uglify2", // Supports generateSourceMaps 
       out: "assets/javascripts/build.js" 
      } 
     } 
    }, 

Ben tanımlamak çağrısında dosyanın üst kısmında o kadar koyarsanız o badem de iyi çalışıyor alabilirsiniz, ama o tercih edilmez Onu tutmak için AMD mi?

cevap

10

Badem belgelerine göre, dinamik olmayan yükleme ve tek bir dosyada paketlenen her şeyle en iyi şekilde çalışır.

Satır içi aramalarınızın yapının bir parçası olarak dahil edildiğinden emin olmak için derleme seçeneklerinde "findNestedDependencies" değerini true olarak ayarlayabilmeniz gerekir.

+0

+1 Aynı problem vardı ve bu çözüldü. – daemon

+0

Teşekkürler, günümü kurtardın! – njtman