Tôi đang sử dụng angular2-seed làm hạt giống cho dự án của mình. require
hoạt động hoàn hảo trong các tệp nguồn. Nhưng bất cứ khi nào tôi bao gồm một thư viện mới và tham chiếu nó trong index.html, sẽ xuất hiện lỗi trong bảng điều khiển mà require
không được xác định.Yêu cầu Angular2 không được xác định cho các thư viện trong node_modules
Systemjs được bao gồm
Tôi đã ĐỌC câu trả lời trước về SO mà gợi ý để sử dụng system.js. Systemjs đã được bao gồm.
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>
Lỗi
Nguồn nơi yêu cầu được sử dụng
index.js của lodash
module.exports = require('./lodash');
thư viện Tương tự khác như ng2-select
và ng2-bootstrap
có lỗi tương tự
Thanks a lot @Theirry, giải pháp systemConfig là làm việc . Nhưng nếu lodash/index.js được thêm vào thay vì lodash/lodash.js thì lỗi yêu cầu sẽ xuất hiện trở lại. Index.js của lodash chỉ có 'module.exports = require ('./ lodash');' ........ tại sao lodash.js đang làm việc chứ không phải index.js .... ?? – hhsadiq