Как использовать "Almond" в "RequireJS" для создания одного файла?
У меня есть проект с RequireJS.
Мой app.build требует:
({
appDir: './',
baseUrl: "js",
dir: "dist",
mainConfigFile: "js/main.js",
modules: [ { name: 'main' } ],
optimizeCss: 'standard',
removeCombined: true,
preserveLicenseComments: false,
optimize: "uglify",
uglify: {
max_line_length: 1000,
compress: {
cascade: true,
drop_console: true,
keep_fargs: true
},
defines: {
DEBUG: ['name', 'false']
},
no_mangle: true
},
closure: {
CompilerOptions: {},
CompilationLevel: 'SIMPLE_OPTIMIZATIONS',
loggingLevel: 'WARNING'
}
})
После компиляции у меня есть три js -файла - require.js, main.js, domReady.js. Я пытаюсь получить один файл через Almond, я добавил несколько параметров:
({
appDir: './',
baseUrl: "js",
modules: [
{
name: '../lib/almond/almond'
},
{
name: 'main'
}
],
include: ['main'],
insertRequire: ['main'],
wrap: true,
dir: "dist",
mainConfigFile: "js/main.js",
optimizeCss: 'standard',
removeCombined: true,
preserveLicenseComments: false,
optimize: "uglify",
uglify: {
...
},
closure: {
...
}
})
Но в итоге у меня все еще есть три файла... Заранее спасибо!
1 ответ
Решение:
({
appDir: './',
baseUrl: "js",
dir: "dist",
mainConfigFile: "js/main.js",
findNestedDependencies: true,
name: 'main',
include: ['../lib/almond/almond'],
insertRequire: ['main'],
optimizeCss: 'standard',
removeCombined: true,
preserveLicenseComments: false,
optimize: "uglify",
uglify: {
...
},
closure: {
...
}
})
после компиляции у меня есть один файл... Затем через GULP я изменяю код в моем index.html
<script src="lib/requirejs/require.js" data-main="js/main.js"></script>
в
<script src="js/main.js"></script>