我正在使用Node和Webpack将来自图形设计公司的HTML模板整合到我的Angular 2项目中。
HTML文件会像这样引入各种脚本:
<script src="js/jquery.icheck.min.js"></script>
<script src="js/waypoints.min.js"></script>
所以我在我的组件.ts文件中要求它们:
var icheckJs = require('../js/jquery.icheck.min');
var waypointsJs = require('../js/waypoints.min');
还有其他几个脚本,以及一些看起来工作正常的SASS。
webpack很顺利地构建了所有内容,'npm start'也成功了。然而,在到达浏览器时,我遇到了这个问题:
Uncaught ReferenceError: require is not defined node_modules/angular2/platform/browser.js:1 Uncaught ReferenceError: require is not defined
实际上是由url.js中的这行代码抛出的:
var punycode = require('punycode');
这是一个CommonJs的require吗?几周前我在Web开发中还没有使用过它, 所以我仍在梳理来自webpack,CommonJs等的各种requires。
我的webpack.config.js文件中JS加载器的提取如下:
{ test: /\.js$/, loader: 'script' }
我该如何解决这个错误?