webpack+scss+jQuery環境を作ろうとしています。
webpack+scssまではできたのですが、jQuery環境がうまくいきません。
index.js内でもutility.js内でも $ が使えるようにしたいです。
webpackでjqueryを使用、しかし「$ is not defined」のエラー
https://teratail.com/questions/215905
上記を参考にしてwebpack.config.jsにplugins:を記載したのですが、ターミナルでwebpack --watchコマンドを打った時点でエラーが出てしまいました。
webpack.config.jsの正しい書き方を教えていただきたいです。
webpack
1//webpack.config.js 2module.exports = { 3 // メインとなるJavaScriptファイル(エントリーポイント) 4 entry: "./js/index.js", 5 mode: "development", 6 // ファイルの出力設定 7 output: { 8 // 出力ファイルのディレクトリ名 9 path: `${__dirname}/dist`, 10 // 出力ファイル名 11 filename: "bundle.js" 12 // hash値自動付与 変更時はwebpack再起動 13 // filename: "bundle_[hash].js" 14 }, 15 module: { 16 rules: [ 17 { 18 test: /.css/, 19 use: [ 20 // linkタグに出力する機能 21 "style-loader", 22 "css-loader" 23 ] 24 }, 25 { 26 test: /.scss/, 27 use: [ 28 // linkタグに出力する機能 29 "style-loader", 30 { 31 loader: 'css-loader', 32 options: { 33 //相対パス利用する 34 url: false, 35 }, 36 }, 37 "sass-loader", 38 ] 39 } 40 ] 41 }, 42 plugins: [ 43 new webpack.ProvidePlugin({ 44 $: 'jquery', 45 }), 46 ], 47};
javascript
1//index.js 2import '../scss/test.scss'; 3// import $ from 'jquery' 4import * as util from './utility.js' 5/////////////////////////////////////////////////////////////////////// 6document.getElementById("js_open").addEventListener("click", util.modalOpen, false); 7$("#js_open").on("click", util.changeBig);
javascript
1//utility.js 2export function modalOpen() { 3 console.log("hello"); 4} 5 6export function changeBig() { 7 $("#js_open").css("width", "40px"); 8}
json
1//package.json 2{ 3 "scripts": { 4 "build": "webpack --watch" 5 }, 6 "dependencies": { 7 "css-loader": "^3.4.2", 8 "jquery": "^3.4.1", 9 "node-sass": "^4.13.1", 10 "sass-loader": "^8.0.2", 11 "style-loader": "^1.1.3", 12 "webpack": "^4.41.5", 13 "webpack-cli": "^3.3.10" 14 } 15} 16
error
1ReferenceError: webpack is not defined 2 at Object.<anonymous> (/private/var/www/webpack_test/webpack.config.js:42:13) 3 at Module._compile (/private/var/www/webpack_test/node_modules/v8-compile-cache/v8-compile-cache.js:192:30) 4 at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10) 5 at Module.load (internal/modules/cjs/loader.js:641:32) 6 at Function.Module._load (internal/modules/cjs/loader.js:556:12) 7 at Module.require (internal/modules/cjs/loader.js:681:19) 8 at require (/private/var/www/webpack_test/node_modules/v8-compile-cache/v8-compile-cache.js:161:20) 9 at WEBPACK_OPTIONS (/private/var/www/webpack_test/node_modules/webpack-cli/bin/utils/convert-argv.js:114:13) 10 at requireConfig (/private/var/www/webpack_test/node_modules/webpack-cli/bin/utils/convert-argv.js:116:6) 11 at /private/var/www/webpack_test/node_modules/webpack-cli/bin/utils/convert-argv.js:123:17 12 at Array.forEach (<anonymous>) 13 at module.exports (/private/var/www/webpack_test/node_modules/webpack-cli/bin/utils/convert-argv.js:121:15) 14 at /private/var/www/webpack_test/node_modules/webpack-cli/bin/cli.js:71:45 15 at Object.parse (/private/var/www/webpack_test/node_modules/yargs/yargs.js:567:18) 16 at /private/var/www/webpack_test/node_modules/webpack-cli/bin/cli.js:49:8 17 at Object.<anonymous> (/private/var/www/webpack_test/node_modules/webpack-cli/bin/cli.js:366:3) 18 at Module._compile (internal/modules/cjs/loader.js:774:30) 19 at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10) 20 at Module.load (internal/modules/cjs/loader.js:641:32) 21 at Function.Module._load (internal/modules/cjs/loader.js:556:12) 22 at Module.require (internal/modules/cjs/loader.js:681:19) 23 at require (internal/modules/cjs/helpers.js:16:16) 24 at Object.<anonymous> (/private/var/www/webpack_test/node_modules/webpack/bin/webpack.js:156:2) 25 at Module._compile (internal/modules/cjs/loader.js:774:30) 26 at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10) 27 at Module.load (internal/modules/cjs/loader.js:641:32) 28 at Function.Module._load (internal/modules/cjs/loader.js:556:12) 29 at Function.Module.runMain (internal/modules/cjs/loader.js:837:10) 30 at internal/main/run_main_module.js:17:11 31npm ERR! code ELIFECYCLE 32npm ERR! errno 1 33npm ERR! @ build: `webpack --watch` 34npm ERR! Exit status 1 35npm ERR! 36npm ERR! Failed at the @ build script. 37npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/12 08:36