Gereksinimlerimi kullanmak için requirejs'yi kullanıyorum ve böylece ürün dizilerimi yapılandırarak kütüphanelerimi birleştiriyor ve aralarında modül sırasını ayarlıyordum. Kombine olmayan kütüphanelere erişime sahip olan livereload sunucumdayken runtime module enjeksiyonunu kullanırken problem yaşamadım. Netlik uğruna tüm minification/çirkinliği devre dışı bıraktım ve js-güzelleştirmeyi açtım.Shim kütüphanesi sarma değil grunt-contrib-requirejs
requirejs: {
dist: {
// Options: https://github.com/jrburke/r.js/blob/master/build/example.build.js
options: {
// `name` and `out` is set by grunt-usemin
// name: 'App',
baseUrl: yeomanConfig.app + '/scripts',
mainConfigFile: yeomanConfig.app + '/scripts/config.js',
out: yeomanConfig.dist + '/scripts/main.js',
optimize: 'none',
// TODO: Figure out how to make sourcemaps work with grunt-usemin
// https://github.com/yeoman/grunt-usemin/issues/30
//generateSourceMaps: true,
// required to support SourceMaps
// http://requirejs.org/docs/errors.html#sourcemapcomments
beautify: false,
removeCombined: false,
generateSourceMaps: false,
preserveLicenseComments: false,
useStrict: true,
mangle: false,
compress: false,
// wrap: true,
// https://github.com/mishoo/UglifyJS2
}
}
},
Kendo, Angular ve Angular-Keno-UI kullanıyorum. Kendo'nun AMD modülüne hazır olduğunu anlıyorum ama Angular-Keno-UI gibi görünmüyor. Ben bir shim oluşturmak için bekliyordum ve uygun requirejs tanım işlevi sarılmış, ancak ben bunun gerçekleşmesini bulamıyorum.
define('angular-kendo-ui', [
'angular',
'kendo'
], function (
angular,
kendo
) {
< original angular-kendo-ui source >
});
Ben dolgularının uygulamasını yanlış mı:
require.config({
cjsTranslate: true,
paths: {
jquery: 'vendor/jquery/jquery',
'angular-kendo-ui': 'vendor/angular-kendo-ui/build/angular-kendo',
kendo: 'vendor/kendoui.complete.2013.2.918.trial/js/kendo.all.min',
angular: 'vendor/angular/angular',
requirejs: 'vendor/requirejs/require',
'angular-animate': 'vendor/angular-animate/angular-animate',
'angular-ui-router': 'vendor/angular-ui-router/release/angular-ui-router.min',
'angular-resource': 'vendor/angular-resource/angular-resource'
},
shim: {
jquery: {
exports: '$'
},
angular: {
deps: [
'jquery'
],
exports: 'angular'
},
'angular-resource': {
deps: [
'angular'
]
},
'angular-kendo-ui': {
deps: [
'angular',
'kendo'
]
},
'angular-ui-router': {
deps: [
'angular'
]
}
}
});
modül olarak hazır olmadıklarını ben gibi kendim sarmak gidermek için? Görünüşe göre bu benim varmış gibi görünmüyor ve aslında modülün talep edilmesi durumunda (sadece dinamik modül yüklemesinde sorun yok)
Bu teknolojilerin ilk değerlendirmem sırasında SOMEWHERE Ihtiyaçlarımın (veya benim boru hattımdaki varlık mutatorlarından birinin) otomatik olarak benim için modülleri sarması için bir yol vardı. Herkesin benim için bir ipucu var, sanırım bu, yapılandırmada tanımlanan modülleri yol olarak dolduracak, fakat belki de yanılmışım. Aşağıda görevlerin bir çıktı olmanın koştu geçerli: Sadece bir tahmin (sizin iyileştirici sürümüne bağlı olarak) var ama
Done, without errors.
Elapsed time
build 887ms
useminPrepare:html 22ms
concurrent:dist 8s
autoprefixer:dist 174ms
requirejs:dist 19s
jsbeautifier:dist 2s
concat:public/styles/main.css 46ms
concat:public/scripts/main.js 56ms
cssmin:public/styles/main.css 81ms
copy:dist 26ms
usemin:html 5s
usemin:css 24s
3 saatten fazla hata ayıklama sonrasında bu yanıtı buldum! – LessQuesar