2014-11-28 5 views
2

Моя цель состоит в том, чтобы выяснить, как я могу использовать узловые модули в существующем JavaScript ApplicationМогу ли я использовать узловые модули в существующем приложении javascript?

Мой Существующее приложение является JQuery и ReactJS на основе.

Я столкнулся с несколькими модулями узлов, которые я хотел бы использовать с проектом, которые, как представляется, доступны только в виде модулей (поэтому их нельзя использовать, просто добавив тег script).

Раньше я использовал bower для установки библиотек и их локального использования, используя теги script.

Я понимаю, что могу использовать Browserify или Webpack, чтобы связать кучу узлов модулей в один файл javascript, но как я могу разоблачить модули, которые находятся в нем, в моем существующем приложении?

Что я хотел бы быть в состоянии сделать это

<script src="jquery.min.js"/> 
<script src="bundle.js"/> 
<script src="myapp.js"/> 

где myapp.js может использовать глобальную переменную для скажем module_x, который был модуль НПМ.

Одна из проблем, которые я предвижу, заключается в том, что, скажем, bundle.js может включать jQuery уже, так как я могу обратиться к этому также? Я знаю, что некоторые могут сказать «преобразовать весь проект в модули», тогда он просто сработает! Но мне интересно, можно ли это сделать без этого, несмотря на все преимущества ;-)

+0

Я новичок в этих вещи, и я использовал Глоток «строить» свои модули и скрипты в один файл script.js ... это затем включено в моем index.html и может использоваться, как вы это знаете. Просто прочитайте про Gulp and pipe и этот хороший материал ... извините, не можете дать более квалифицированный ответ на этот вопрос, поэтому я просто попытался помочь, комментируя –

ответ

3

Это не лучшая практика, но вы можете использовать глобалы с помощью браузера. Таким образом, вы сможете получить доступ к библиотекам, которые вы получаете с помощью require(), в любой области, в которой вы нуждаетесь. Просто используйте:

global.lib = require('somelib'); 

Тогда просто browserify ваш исходный файл Повсеместно browserify. Если вы не знаете, как это сделать, просто прочитайте documentation. Его довольно проста в использовании.

После этого просто получите доступ к lib из любого места, где это необходимо.

Кроме того, если вы уже определили jQuery как глобальный, предшествующий пакету, вы сможете получить к нему доступ в файл с обозревателем. Внутри основного browserify файл, просто:

var someVar = require('./somefile.js'); 
var allDivs = $("div"); // $ was a global before this file runs 
Смежные вопросы