gpt4 book ai didi

javascript - 通过 Webpack 全局导入 Javascript 库

转载 作者:数据小太阳 更新时间:2023-10-29 05:18:08 25 4
gpt4 key购买 nike

我正在尝试从我的 html 中删除 javascript 库的脚本标签,因此从模板页面中删除了 underscore.js。

为了替换它,在我的 index.js(webpack 入口点)中,我有以下内容

import 'underscore';

当我这样做时,webpack 输出的 bundle.js 文件的大小增加了 50k,所以我知道库在 bundle.js 中。但是,当我尝试在包含 bundle.js 的页面的控制台中使用它时,下划线不可用。

如有任何想法,我们将不胜感激。

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'] }),
];
},

};

最佳答案

为了实现这一点,您可以使用这个 webpack 插件:

new webpack.ProvidePlugin({
underscore: "underscore"
})

顺便说一句,您不必在目录的索引文件中导入库。您将有权访问该库,并在您的 webpack 配置文件中指定一个新的入口点。然后您可以将所有 vendor 代码放入 vendor.js 绑定(bind)中,如下所示:

entry: {
main: [
'./app/js/main.js'
],
vendor: [
'underscore',
'lodash',
'my-awesome-library!'
]
}

更新:在 egghead.io 上有一个关于如何在生产中使用 webpack 的非常好的教程。尝试 check it out !

关于javascript - 通过 Webpack 全局导入 Javascript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37994558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com