Некоторые контексты здесь: Это не то, что я не могу использовать Webpack, это то, что я не хочу использовать Webpack. Я хотел бы сохранить все как «ваниль», насколько это возможно.Модули слияния с использованием NodeJS
В настоящее время при создании модулей в проекте вы должны требовать их использования или относительный или абсолютный путь, например, в следующем каталоге ..
project/
├── index.js
├── lib/
│ ├── network/
│ │ request.js
│ │ response.js
├── pages/
│ ├── foo.js
Учитывая, что мы находимся в index.js мы импортируем запросить через
var networkRequest = require('./lib/network/request.js')
и если мы в foo.js, тогда мы будем импортировать запрос через
var networkRequest = require('../lib/network/request.js')
Что мне интересно, что если есть какой-нибудь способ, возможно, установить локальный псевдоним в Package.json
или где-нибудь еще в этом роде, так:
localPackages = [
{ name: 'network-request', path: './lib/network/request.js' }
];
В которой вы могли бы просто сделать
var networkRequest = require('network-request')
Из любого файл, и он предоставит правильный путь.
Это не работает, к сожалению: ' "зависимости": { "реагировать": "15.3.2", «реагируют родной ":" 0.35.0 ", " @ components/RootTabBar ":" file: ./ src/components/RootTabBar " },' Получение ошибки «Не удалось устранить модуль». – Hobbyist
Я не уверен, что синтаксис @ components/RootTabBar * должен * решить. Я никогда не видел имени модуля со специальными символами, отличными от дефисов. – Paul
Вот большое разнообразие: https://www.npmjs.com/~exponent - я также пробовал с регулярными именами, IE: «RootTabBar», но это тоже не сработало. – Hobbyist