Если VSCode предлагает использовать модули ES6, возможно, вы включили поддержку модулей ES6 в своем проекте, которая переопределяет стандартную поддержку Node для общих JS модулей.
Использование
import lodash from 'lodash';
вместо require.
Re edit:
Я могу запустить loda sh в командной строке, используя сервер узлов, но не в браузере
Ну да. Если вы запускаете программу, предназначенную для работы в Node.js в Node.js, то она работает. Если вы запустите ту же программу в браузере, она не будет работать. Если просто установить Node.js где-нибудь, это не превращает браузер в Node.js.
Если вы хотите использовать модуль ES6 в браузере, тогда:
- Он должен быть совместимым с браузерами (loda sh может быть)
- Вам необходимо использовать
import lodash from "./url/to/lodash.js";
, потому что браузеры не поддерживают разрешение npm путей.
Если модуль не предназначен для работы в браузерах, возможно, вы сможете использовать такой инструмент, как Webpack, для его объединения таким образом, чтобы он работал (но это не сработает в модуле, зависит от API, предоставляемых Node.js, как fs
).