Есть ли способ использовать узлы «серверной части» в Angular 7? - PullRequest
0 голосов
/ 10 февраля 2019

В настоящее время я работаю над проектом с использованием Blockstack (децентрализованный веб-проект).И я хочу создать свое приложение с Angular (в частности, Angular 7).Однако я сталкиваюсь с проблемой, которая была введена как стандартное поведение в Angular 6, которая заключается в том, что Angular не будет компилировать модули, которые считаются модулями "на стороне сервера".Это имеет смысл почти для всех случаев использования Angular, поскольку он является интерфейсной средой, однако, учитывая, что базовый дизайн Blockstack означает, что весь код выполняется на стороне клиента, официальный модуль узла Blockstack импортирует некоторые «серверные» модули для использования в контексте на стороне клиента.

Я разместил этот вопрос на форуме blockstack, чтобы узнать, сталкивался ли кто-нибудь с этой проблемой и нашел ли ее решение, кромеЕдинственное решение, которое я получил, было либо использовать угловую 5, либо раскрутить репо для модуля узла и попытаться исправить это самостоятельно.Ни один из этих вариантов не особенно привлекателен, поэтому я решил спросить здесь (stackoverflow - намного крупный форум), чтобы посмотреть, есть ли у кого-нибудь обходной путь.

Когда я запускаю npm start егоне может скомпилировать это как вывод:

WARNING in ./node_modules/triplesec/lib/prng.js
Module not found: Error: Can't resolve 'crypto' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/triplesec/lib'
WARNING in ./node_modules/asn1.js/lib/asn1/api.js
Module not found: Error: Can't resolve 'vm' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/asn1.js/lib/asn1'
WARNING in ./node_modules/key-encoder/node_modules/asn1.js/lib/asn1/api.js
Module not found: Error: Can't resolve 'vm' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/key-encoder/node_modules/asn1.js/lib/asn1'
ERROR in ./node_modules/blockstack/lib/encryption.js
Module not found: Error: Can't resolve 'crypto' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/blockstack/lib'
ERROR in ./node_modules/blockstack/lib/keys.js
Module not found: Error: Can't resolve 'crypto' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/blockstack/lib'
ERROR in ./node_modules/blockstack/lib/wallet.js
Module not found: Error: Can't resolve 'crypto' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/blockstack/lib'
ERROR in ./node_modules/blockstack/lib/storage/hub.js
Module not found: Error: Can't resolve 'crypto' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/blockstack/lib/storage'

ERROR in ./node_modules/jsontokens/lib/cryptoClients/secp256k1.js
Module not found: Error: Can't resolve 'crypto' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/jsontokens/lib/cryptoClients'
ERROR in ./node_modules/cipher-base/index.js
Module not found: Error: Can't resolve 'stream' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/cipher-base'
ERROR in ./node_modules/hash-base/index.js
Module not found: Error: Can't resolve 'stream' in '/home/origin/Dev/blockstack/gitd/ng-web/node_modules/hash-base'

У кого-нибудь есть обходной путь или какие-либо предложения?

...