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