2013-03-07 1 views
12

Sto provando a creare i miei moduli require.js su un file javascript per la produzione.Require.js non sta compilando correttamente un singolo file js

Il comando sto correndo è ...

r.js -o name=main out=main.min.js mainConfigFile=main.js 

Questo compila ma il file main.min.js compilato non è compilato correttamente e comprende le "definire" blocchi di istruzioni ancora. e il browser restituisce ovviamente

Uncaught ReferenceError: define is not defined 

Il mio file main.js assomiglia:

require.config({ 
    paths: { 
     jquery: 'libs/jquery/jquery', 
    }, 
    shim: { 
     bootstrap: { 
      deps: ['jquery'], 
      exports: 'jquery' 
     } 
    } 
}); 
require(['app', 'jquery'], function (app, $) { 
    'use strict'; 
    // use app here 
    console.log(app); 
    console.log('Running jQuery %s', $().jquery); 
}); 

prega fatemi sapere cosa sto affaccia qui. Grazie!

+1

può aver lavorato fuori ... Ho incluso nella build. es. r.js -o nome = main out = main.min.js mainConfigFile = main.js include = libs/requirejs/require.js è giusto? – markstewie

+1

Hai ragione che RequireJS deve essere incluso nel file minificato. Inoltre, se si è interessati a ridurre le dimensioni del file js minisito, provare ad usare Almond. È un piccolo caricatore alternativo dello stesso autore di RequireJS progettato per l'uso in build di produzione miniate. – cspotcode

risposta

20

Hai ragione, devi includere requireJS nella tua build. Dai uno sguardo allo http://requirejs.org/docs/optimization.html#onejs. Qui troverai un esempio per la riga di comando. Se stai usando una build profilo sarà simile a questa -

({ 
baseUrl: "../Scripts", 
paths: { 
    requireLib: 'libs/require' 
}, 
name: "main", 
out: "main-built.js", 
include: ["requireLib"] 
}) 
+1

Grazie per la risposta dettagliata. – markstewie

+0

salvagente totale. – mix3d

+0

thx per aiuto: D – Mateusz

0

correzione rapida: uso r.js -o build.js invece di node r.js -o build.js


ho avuto il problema quando stavo cercando di chiamare r.js attraverso il nodo:

node r.js -o build.js

Cal ling r.js fissato direttamente il problema:

r.js -o build.js

Nota: require.js r.js è stato installato a livello globale con npm install -g requirejs