#requirejs
#requirejs
Вопрос:
Я пытаюсь удалить вызовы require и define с помощью amdclean, чтобы я мог вызывать свой js-файл, не вызывая requirejs. Кроме того, я мог бы запустить компилятор закрытия в проекте js.
Мой js-файл отлично компилируется с конфигурацией requirejs grunt:
requirejs:
build:
options:
mainConfigFile : "client/main.js"
baseUrl : "client"
name: "main"
out: "build/main.js"
removeCombined: true
findNestedDependencies: true
Однако, когда я добавляю к нему amdclean, он фактически не удаляет вызовы require и define из кода. Вот конфигурация:
requirejs:
build:
options:
mainConfigFile : "client/main.js"
baseUrl : "client"
name: "main"
out: "build/main.js"
removeCombined: true
findNestedDependencies: true
onModuleBundleComplete: (data) ->
fs = module.require('fs')
amdclean = module.require('amdclean')
#console.log('data.path = ' data.path)
inputFile = data.path
outputFile = './build/clean.js'
cleanedCode = amdclean.clean(
'filePath': inputFile
)
fs.writeFileSync(outputFile, cleanedCode)
Вот URL-адрес amdclean:
http://gregfranko.com/amdclean/
Я все еще могу использовать вывод amdclean, если я использую его с requirejs, но не как независимый скрипт. Пожалуйста, помогите мне это исправить.
Ответ №1:
Вы не можете использовать AMDclean без какой-либо логики упорядочения зависимостей (которая Require.js оптимизатор предоставляет). Вам не обязательно использовать Require.js оптимизатор, но вам нужно заменить его какой-нибудь библиотекой, предоставляющей аналогичную функциональность.