#node.js #npm #node-modules
#node.js #npm #узлы-модули
Вопрос:
Я опубликовал очень простой пакет NPM со следующим:
module.exports = { foo: "baz" };
При веб-упаковке он выглядит как строка ниже, и на этот файл ссылаются как на main
свойство package.json
.
(()=>{var r={579:r=>{r.exports={foo:"baz"}}},o={};!function t(e){if(o[e])return o[e].exports;var p=o[e]={exports:{}};return r[e](p,p.exports,t),p.exports}(579)})();
Теперь, в отдельном проекте, когда я устанавливаю пакет и пытаюсь его импортировать, я ничего не получаю:
const obj = require('mypackage')
console.log(obj)
// => {}
import obj from 'mypackage'
console.log(obj)
// => {}
Чего здесь не хватает? Как мне передать этот экспортированный объект в установленный пакет NPM?
Комментарии:
1. Честно говоря, для подобных вещей я просто использую
microbundle
2. Это относится к вашей конфигурации Webpack, а не к чему-либо еще, но его нет в списке. То, что пакет сокращен, не помогает (вы не должны уменьшать точку входа), но проблема в том, что он не ссылается на переменные «модуль» или «экспорт». Импортируется пустой объект module.exports, в то время как ваш экспорт присваивается чему-то другому.
Ответ №1:
Вместо того, чтобы возиться с конфигурацией webpack, моим решением действительно было использовать Microbundle, как предложил Дерек в комментариях.
Это сработало немедленно, поэтому «ответ» заключается в том, что с конфигурацией webpack что-то не так, хотя я не знаю, что это было.