webpack使用疑难杂证,TM完全搞不懂
发布于 9 年前 作者 flftfqwxf 7957 次浏览 最后一次编辑是 8 年前 来自 问答

使用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');

错误代码如下

untitled1.png

5 回复

这使用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命令,只能装全局的 只装全局的一样有此问题 untitled1.png

@William17 找到原因了,我在package.json里 原来配置了browserify,没想到webpack会去读,无语

@flftfqwxf 恩. 估计是因为你windows系统, 所以./node_modules/.bin/webpack这样运行不了. webpack关于配置的说明的确提到package.json里的部分字段可能会被使用, bowser字段如果是对象的话, 被用作resolve.packageAlias

回到顶部