【发布时间】:2017-02-18 00:50:22
【问题描述】:
我有一个 Angular 2 应用程序,并且正在使用 ng2-dragula 库。一切都在开发(JIT 编译)模式下工作。当我使用 AOT 编译时,aot build 和 rollup 成功,但是我在浏览器中收到此错误:
Uncaught ReferenceError: require is not defined
at dragula.js:3
at main-aot.js:6
此错误来自 dragula.js 文件顶部的这些行。
var emitter = require('contra/emitter');
var crossvent = require('crossvent');
var classes = require('./classes');
我尝试将 requirejs 添加到我的项目中,然后出现此错误:
Uncaught Error: Module name "contra/emitter" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded
所以我去了要求页面“常见错误”并尝试遵循他们的一些建议,然后在两个非 dragula 相关脚本之间出现此错误
Mismatched anonymous define() module: blah blah
但是当 require.js 没有添加到项目中时,这些在 AOT 中可以正常工作。
有没有办法修改这些 require 语句以使其在 AOT 中工作?为什么我在 JIT 编译中没有收到此错误?很卡在这里。
【问题讨论】:
标签: angular requirejs angular2-aot dragula ng2-dragula