Sto cercando di rimuovere i tag di script per le librerie javascript dal mio html e così ho rimosso underscore.js da una pagina di modello.Importare la libreria Javascript in tutto il mondo tramite Webpack
di sostituire questo, dentro le mie index.js (webpack punto di ingresso), ho il seguente
import 'underscore';
La dimensione del webpack emesso bundle.js aumenta di file da 50k quando faccio questo, così ho sappi che la libreria è in bundle.js. Tuttavia, il carattere di sottolineatura non è disponibile quando provo ad usarlo nella console su una pagina che include bundle.js.
Ogni pensiero sarebbe apprezzato.
const webpack = require('webpack');
const path = require('path');
const precss = require('precss');
const autoprefixer = require('autoprefixer');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const postcssImport = require('postcss-import');
module.exports = {
context: __dirname + '/frontend',
devtool: 'source-map',
entry: './index.js',
output: {
filename: 'bundle.js',
path: path.join(__dirname, './static'),
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/, query: { presets: ['es2015'] } },
{ test: /\.css$/, loader: ExtractTextPlugin.extract('style', 'css?sourceMap&importLoaders=1!postcss') },
],
},
vendor: [
'underscore',
],
plugins: [
new ExtractTextPlugin('si-styles.css'),
new webpack.ProvidePlugin({
underscore: 'underscore',
}),
],
postcss: function(webpack) {
return [
postcssImport({ addDependencyTo: webpack }), // Must be first item in list
precss,
autoprefixer({ browsers: ['last 2 versions'] }),
];
},
};
Non puoi chiamare '_', anche se lo hai importato in uno dei tuoi moduli, perché i moduli come l'istruzione' import' di ES6 sono progettati per evitare di inquinare lo spazio globale. Qualcosa dovrebbe assegnare quel modulo allo scope globale o all'oggetto globale ('window') in modo che tu possa avere un riferimento ad esso e usarlo al di fuori di uno dei tuoi moduli in cui lo hai importato. Vedere [i documenti WebPack su come ottenere WebPack per farlo per qualsiasi modulo] (https://webpack.github.io/docs/shimming-modules.html). –