使用WEBPACK时,发现以下问题: 指定alias:{jquery:"/xx/xxx/jquery"}时,它默认去找【browserify-test\jquery.js 】 这个目录 在代码中使用 var $=require(‘jquery’); 如何使他不找这个目录,而是自定义目录 在网上看到几种方式: jquery:path.join(node_modules,’./jquery/dist/jquery.min.js’) 无法解决
不使用alias,直接用npm insall jquery --save-dev 安装, 直接使用[var $=require(‘jquery’);] 依然不行
代码如下: webpack.config.js
'use strict';
var path = require('path');
var wwwUrl = './oldVersion/www/src';
module.exports = {
entry: {
'jSharp.js': wwwUrl + '/libs/a.js',
},
output: {
path: path.join(__dirname, 'dist'),
filename: "[name]-[chunkhash].js",
chunkFilename: "[name]-[chunkhash].js"
},
resolve: {
alias: {
jquery: "common/js/jquery-2.1.3.min",
},
extensions: ['', '.js', '.css', '.scss']
}
};
a.js:
var globalJs = require('jquery');
错误代码如下
这使用npm install jquery
, 不使用alias
的错误提示?
你试试require('xxxxxx')
加载一个不存在的模块, 默认应该会从web_modules
, node_modules
这些目录找. 如果不是
1 检查你的package.json
里是否有webpack相关配置
2 试试重新装个webpack, 装在项目中 npm install --save-dev webpack
, 然后 ./node_modules/.bin/webpack --config ./webpack.config.js
@William17 这是使用了alias的提示 webpack 是 npm isntall webpack —save-dev 和 -g都用装
@William17 删除了重装,如果只装本地的无法使用webpack命令,只能装全局的 只装全局的一样有此问题
@William17 找到原因了,我在package.json里 原来配置了browserify,没想到webpack会去读,无语
@flftfqwxf
恩. 估计是因为你windows系统, 所以./node_modules/.bin/webpack
这样运行不了.
webpack关于配置的说明的确提到package.json里的部分字段可能会被使用, bowser
字段如果是对象的话, 被用作resolve.packageAlias