Чтобы расширить на @ danday74, мы используем для этого прокрутку как на работе.
Вкратце это то, как мы его используем.
So Browserify, если вы не знаете его CLI nodejs, который позволяет использовать код NodeJs require
для кода клиента. Он позволяет писать хорошо структурированный, модульный клиентский код и встраивать его в один файл для включения в вашу страницу. Другим преимуществом является то, что каждый файл привязан к этому одиночному файлу.Таким образом, нет более случайных глобальных (если вы не используете строгий режим). Единственными вещами, открытыми из ваших файлов, являются вещи, которые вы явно экспортируете.
Потому что его CLI вам нужно установить в глобальном масштабе, чтобы вы могли использовать его в командной строке.
npm install -g browserify
Затем, чтобы запустить его просто из командной строки сделать
browserify main.js > output.js
и включают в себя, что на вашей странице
<script src="output.js"></script>
Мы лично псевдоним, что в наших package.json
, как мы делаем другие вещи, как линт и сасси. вот пример
{
"name": "some app",
"scripts": {
"build:js": "browserify src/index.js > dist/built.js",
"build:css": "node-sass sass/main.scss dist/built.css",
"build": "npm run build:js && npm run build:css"
}
}
Теперь мы просто запустить npm run build
и он будет строить из дерзости и JS.
Какой браузер будет выполнять рекурсивно проходить ваш файл в поисках require
звонков, он затем переместится в этот файл и повторит. Как часть пути поиска он будет выглядеть в вашей папке node_modules
. Вот почему вы можете включить модули, установленные через npm
.
Вот небольшой пример
//In a file called data.js located in same folder as main.js
module.exports = [1, 2, 2, 3, 4, 5, 5, 6];
//in a file called main.js
var unique = require('uniq'),
data = require('./data');
console.log(unique(data)); //[1, 2, 3, 4, 5, 6]
Что это будет сделать, это первый взгляд на модуль под названием uniq
установлен через НПМ (так как нет никакого относительного или абсолютного пути). Затем он ищет наш собственный файл под названием data.js
, расположенный в той же папке.
Когда будет строить это с browserify main.js > out.js
Я надеюсь, что это помогает объяснить, что browserify и как это может быть полезно для управления структурировать, когда вы хотите включить NPM
модули клиента. Я знаю, что это не подходит для всех, особенно если у вас есть большое приложение, которое не использует браузер, но теперь я использую инструмент построения, подобный этому, для написания модульного кода, я бы никогда не пошел на bacl.
У вас есть скрипт в ресурсах? у вас есть сценарий перед предыдущим скриптом? – Sudheer
Какие ошибки вы получаете? Пожалуйста, дайте более подробную информацию. – Hinrich
@Sudheer да, см. Править. – c0de