Всем привет!
Как сделать jquery доступным в глобальной области видимости для плагинов и как собственно эти плагины подключать/вызывать в модулях не напортачив в путях?
jQuery хотелось бы подключать как модуль, а не тегом.
При сборке того что есть выдаёт:
ERROR in ./blocks/slider/index.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./vendor/jquery.js in D:\DEV\webpackbuilder\frontend\blocks\slider
@ ./blocks/slider/index.js 1:0-29
Есть структура и код:
index.js:
require('./blocks/slider');
blocks
> slider
>> index.js:
require('../../vendors/jquery.js');
require('../../vendors/jquery.slider.js');
vendors
> jquery.js
> jquery.slider.js
конфиг:
var NODE_ENV = process.env.NODE_ENV || 'dev',
webpack = require('webpack'),
path = require('path');
module.exports = {
context: path.resolve(__dirname, "frontend"),
entry: {
index: "./index.js",
about: "./about.js",
},
output: {
publicPath: "./public/built/",
path: "./public/built/",
filename: "[name].js"
},
watch: NODE_ENV == 'dev',
devtool: NODE_ENV == 'dev'? 'cheap-inline-module-source-map' : null,
plugins: [
new webpack.EnvironmentPlugin('NODE_ENV'),
new webpack.NoErrorsPlugin(),
new webpack.ProvidePlugin({
$: "./vendor/jquery.js"
/*,
jQuery: "jquery",
"window.jQuery": "jquery"*/
})
],
module: {
loaders: [
{
test: /\.css$/,
loader: "style!css"
},
{
test: /\.styl$/,
loader: 'style!css!stylus'
},
{
test: /\.(png|jpg|svg|ttf|eot|woff|woff2)$/,
loader: 'file-loader?name=[name].[ext]'
}
],
},
stylus: {
use: [require('kouto-swiss')()],
import: ['~kouto-swiss/index.styl', __dirname + '/frontend/commons/vars.styl', __dirname + '/frontend/commons/mixins.styl']
}
};
if (NODE_ENV == 'prod') {
module.exports.plugins.push(
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
)
}