Ответ 1
var browserify = require("browserify")
browserify({entries: ['./src/client/app.js']})
.ignore('jquery')
Это заставит браузеру игнорировать jquery, а затем jquery можно добавить непосредственно в index.html.
Предположим, что приведенный ниже код найден в bundler.js
, а трассировка entry.js
приводит к var B = require('backbone');
(Магистраль - это зависимость, указанная в package.json
).
var browserify = require('browserify');
var bundle = new browserify();
bundle.add('entry.js');
bundle.bundle({
noParse: ['backbone']
});
Выполнение этого пакета дает поток, содержащий исходный источник backbone
. На основе браузера параметры командной строки Я ожидал, что он будет пропускать магистраль все вместе. Читая через источник, я ожидал, что, возможно, следующее будет работать:
var browserify = require('browserify');
var bundle = new browserify({
noParse: ['backbone']
});
bundle.add('entry.js');
bundle.bundle();
Хотя источник вывода backbone
все еще появляется в выводе потока.
Можно ли использовать --noparse=FILE
в качестве параметра конфигурации в этом приложении api?
var browserify = require("browserify")
browserify({entries: ['./src/client/app.js']})
.ignore('jquery')
Это заставит браузеру игнорировать jquery, а затем jquery можно добавить непосредственно в index.html.
Как вы можете видеть здесь параметр --noparse
, предоставленный в командной строке, передается вызову browserify({ })
.
Итак, чтобы сообщить браузеру о том, чтобы не разобрать jquery и three.js, вам необходимо передать полный путь к вашим файлам jquery и three.js.
Пример:
browserify({
noParse: [
require.resolve('./vendor/jquery'),
require.resolve('./vendor/three')
]
})
.require(require.resolve('./entry.js'), { entry: true })
.bundle();