Javascript 网页包-未找到模块:错误:Can';t解决';jquery';
我在webpack中使用Sails 1,当我尝试从我的主js文件导入jquery时,我收到一个错误,它大声喊道无法解析jquery webpack.config.js:Javascript 网页包-未找到模块:错误:Can';t解决';jquery';,javascript,jquery,import,webpack,sails.js,Javascript,Jquery,Import,Webpack,Sails.js,我在webpack中使用Sails 1,当我尝试从我的主js文件导入jquery时,我收到一个错误,它大声喊道无法解析jquery webpack.config.js: var path = require('path'); var webpack = require('webpack'); var ExtractTextPlugin = require('extract-text-webpack-plugin'); var CleanWebpackPlugin = require('clean
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var CleanWebpackPlugin = require('clean-webpack-plugin');
var CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports.webpack = {
devtool: 'source-map',
entry: {
'admin': './assets/admin/js/admin.js'
},
output: {
filename: 'js/[name].bundle.js',
path: path.resolve(__dirname, '..', '.tmp', 'public')
},
resolve: {
modules: [
path.join(__dirname, "js"), "node_modules"
]
},
module: {
// Extract less files
rules: [{
test: /\.css$/,
loader: ExtractTextPlugin.extract({ use: 'css-loader' })
}, {
test: /\.less$/,
loader: ExtractTextPlugin.extract({ use: 'css-loader!less-loader' })
}, {
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
options: {
presets: [
[ 'es2015', { modules: false } ]
]
}
}]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}),
// This plugin extracts CSS that was imported into .js files, and bundles
// it into separate .css files. The filename is based on the name of the
// .js file that the CSS was imported into.
new ExtractTextPlugin('css/[name].bundle.css'),
// This plugin cleans out your .tmp/public folder before lifting.
new CleanWebpackPlugin(['public'], {
root: path.resolve(__dirname, '..', '.tmp'),
verbose: true,
dry: false
}),
// This plugin copies the `images` and `fonts` folders into
// the .tmp/public folder. You can add any other static asset
// folders to this list and they'll be copied as well.
new CopyWebpackPlugin([{
from: './assets/images',
to: path.resolve(__dirname, '..', '.tmp', 'public', 'images')
}])
]
};
在我的assets/admin/js/admin.js中,我只有
import 'jquery';
jquery位于我的json包中,它显示在名为jquery的node_modules包下
另一件奇怪的事情是,如果我更改jquery并尝试导入angular,它的工作非常完美,所以我不认为这是节点模块目录问题或类似的问题。另一个问题将我带到了这里。对于来自谷歌的未来访客,请尝试运行:
webpack --display-error-details
这有用吗@jimcollins我看到了这个答案,但由于angular工作正常,并且像jquery一样通过npm安装,看起来可能有些不同,我遗漏了什么吗?配置看起来不错,我认为它与网页包无关。可能模块安装不正确。能否运行
节点-e'require(“jquery”)
?如果出现错误,您应该删除node_模块
并重新安装它们错误:找不到模块“jquery”,但我不明白,它显示在node_模块下,当我安装它时,它没有抛出任何错误。我试图删除整个文件夹,然后再次安装,同样的事情发生了。我听说人们对NPM5有一些问题。请尝试升级它或使用npm安装-g将其降级到4npm@4
。之后,您还可以在重新安装之前,使用npm cache clean
删除缓存(可能会拉入同一个损坏的包)。