我正在尝试使用amdclean删除require和define调用,以便我可以调用我的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)
这是amdclean网址:
http://gregfranko.com/amdclean/
如果我将它与requirejs一起使用,我仍然可以使用amdclean输出,但不是作为一个独立的脚本。请帮我解决这个问题。
答案 0 :(得分:0)
如果没有某种依赖性排序逻辑(Require.js优化器提供),则不能使用AMDclean。您不一定要使用Require.js优化器,但需要将其替换为提供类似功能的库。