6
我正在使用angular2-seed作爲我的項目的種子。 require
在源文件中工作得很好。但是,無論何時我包含一個新庫並將其引用到index.html中,在控制檯中彈出錯誤require
未定義。Angular2需求沒有爲node_modules中的庫定義
Systemjs包括
我已經閱讀的SO以前的答案提示使用system.js。 systemjs已包含在內。
的index.html
<!-- shims:js -->
<script src="/node_modules/systemjs/dist/system.src.js?1458283463580"></script>
<script src="/node_modules/systemjs/dist/system-polyfills.src.js?1458283463581"></script>
<script src="/node_modules/reflect-metadata/Reflect.js?1458283463582"></script>
<script src="/node_modules/es6-shim/es6-shim.js?1458283463582"></script>
<script src="/node_modules/angular2/bundles/angular2-polyfills.js?1458283463582"></script>
<!-- endinject -->
<script>System.config({"defaultJSExtensions":true,"paths":{"./admin/main":"/./admin/main","angular2/*":"/angular2/*","rxjs/*":"/rxjs/*","*":"/node_modules/*"},"packages":{"angular2":{"defaultExtension":false},"rxjs":{"defaultExtension":false}},"map":{"moment":"moment/moment.js"}})</script>
<!-- libs:js -->
<script src="/node_modules/rxjs/bundles/Rx.js?1458283463585"></script>
<script src="/node_modules/angular2/bundles/angular2.js?1458283463585"></script>
<script src="/node_modules/angular2/bundles/router.js?1458283463585"></script>
<script src="/node_modules/angular2/bundles/http.js?1458283463586"></script>
<script src="/node_modules/ng2-bootstrap/ng2-bootstrap.js?1458283463586"></script>
<script src="/node_modules/ng2-select/ng2-select.js?1458283463586"></script>
<script src="/node_modules/lodash/index.js?1458283463587"></script>
<script src="/node_modules/ng2-pagination/index.js?1458283463587"></script>
<!-- endinject -->
<!-- inject:js -->
<!-- endinject -->
<script>
System.import('./admin/main')
.catch(function (e) {
console.error(e,
'Report this error at https://github.com/punchagency/staffing-client/issues');
});
</script>
錯誤
源,其中需要使用
lodashmodule.exports = require('./lodash');
同樣其他圖書館一樣ng2-select
和ng2-bootstrap
的
index.js有類似的錯誤
非常感謝@Theirry,該systemConfig解決方案是工作。但是如果添加lodash/index.js而不是lodash/lodash.js,那麼需要的錯誤再次出現。 lodash的index.js只有這個'module.exports = require('./ lodash');'........爲什麼lodash.js正在工作,而不是index.js .... ?? – hhsadiq