Requirejs 将AMDclean与grunt一起使用

Requirejs 将AMDclean与grunt一起使用,requirejs,gruntjs,amd,grunt-contrib-requirejs,Requirejs,Gruntjs,Amd,Grunt Contrib Requirejs,我正试图与requirejs和AMDClean一起构建一个项目,以完全消除生产版本中对amd的需求。虽然我能够让requirejs优化器将我的文件放在一起,但我无法使用amdclean从中删除require/define。以下是我的requirejs代码(使用coffeescript以grunt编写): 这里client/main.js是我的应用程序的入口点。我可以使用script标记调用此文件: <script src="client/vendor/require.js" data-ma

我正试图与requirejs和AMDClean一起构建一个项目,以完全消除生产版本中对amd的需求。虽然我能够让requirejs优化器将我的文件放在一起,但我无法使用amdclean从中删除require/define。以下是我的requirejs代码(使用coffeescript以grunt编写):

这里client/main.js是我的应用程序的入口点。我可以使用script标记调用此文件:

<script src="client/vendor/require.js" data-main="build/main.js"></script>
我希望能够使用此标记调用此文件:

<script src="build/main.js"></script>


但事实并非如此。它抛出一个错误,说:
models\u MenuItem未定义
,这是我在模块未按正确顺序加载时通常遇到的错误。使用requirejs优化器构建的文件和原始的预构建javascript正常工作。请帮助我更正我的amdclean配置或确定问题的真正所在。

确保正确设置
文件路径
amdclean选项:

'filePath': outputFile
还有几个其他原因:

确保将Require.jsskipModuleInsertion选项设置为true。默认情况下,Require.js为未包装在
define()
中的文件创建
define()
包装器。这可能会导致AMDclean出现问题

使用AMDclean构建时,请确保未指向缩小的文件。这肯定会引起问题

<script src="build/main.js"></script>
'filePath': outputFile