[解決済み】「import」「export」がトップレベルにしか表示されない場合がある。
2022-01-25 13:39:35
質問
webpackをvuejsと一緒に使っています。Webpack は正常に動作していますが、出力された app.js ファイルを見ると、このエラーが表示されます。
import' と 'export' はトップレベルにしか表示されない場合があります。
バベルがコードを変換してくれないのが問題なのでは?なぜなら、ブラウザでアプリケーションを見たときにこれが表示されるからです。
予期しないトークンのインポート
以下は、私のvuejsアプリケーションのentry.jsです。
/*jshint esversion: 6 */
import Vue from 'vue';
import App from './App.vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);
require('./css/style.scss');
// Export the vue router
export var router = new VueRouter({
hashbang: false,
root: '/'
// history: true
});
// Set up routing and match routes to components
router.map({
'/': {
component: require('./components/home/Home.vue')
}
});
// Redirect to the home route if any routes are unmatched
router.redirect({
'*': '/'
});
// Start the app on the #app div
router.start(App, '#app');
これが私のwebpack.config.jsです。
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var path = require('path');
module.exports = {
entry: './src/entry.js',
output: {
filename: './public/js/app.js'
},
devtool: 'source-map',
plugins: [
new ExtractTextPlugin('./public/css/style.css')
],
module: {
preLoaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'jshint-loader'
}],
loaders: [{
test: /\.scss$/,
loader: ExtractTextPlugin.extract(
'style',
'css!sass'
),
},
{
test: /\.vue$/,
loader: 'vue'
},
{
test: /\.js$/,
exclude: /node_modules/,
include: [
path.resolve(__dirname, "src/services"),
],
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}]
}
};
これが私のpackages.jsonファイルです。
{
"name": "test-webpack",
"version": "1.0.0",
"description": "Myapp",
"main": "entry.js",
"scripts": {
"watch": "webpack-dev-server --host $IP --port $PORT --hot --inline --config webpack.config.js",
"dev": "webpack",
"build": ""
},
"author": "Dev",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.9.1",
"babel-loader": "^6.2.4",
"babel-plugin-transform-class-properties": "^6.10.2",
"babel-plugin-transform-runtime": "^6.9.0",
"babel-preset-es2015": "^6.9.0",
"babel-runtime": "^6.9.2",
"css-loader": "^0.23.1",
"extract-text-webpack-plugin": "^1.0.1",
"jshint": "^2.9.2",
"jshint-loader": "^0.8.3",
"node-sass": "^3.8.0",
"path": "^0.12.7",
"sass-loader": "^3.2.0",
"style-loader": "^0.13.1",
"vue-hot-reload-api": "^1.3.2",
"vue-html-loader": "^1.2.2",
"vue-loader": "^8.5.2",
"vue-style-loader": "^1.0.0",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1"
},
"dependencies": {
"vue": "^1.0.25",
"vue-router": "^0.7.13"
}
}
解決方法は?
閉じ括弧が足りないときにこのエラーが発生しました。
簡易的なレクリエーション。
const foo = () => {
return (
'bar'
);
}; <== this bracket was missing
export default foo;
関連
-
webpack パッケージの css エラー(解決済み)。UnhandledPromiseRejectionWarning。TypeError: this.getResolve は関数ではありません。
-
[解決済み] モジュールのビルドに失敗しました(./node_modules/babel-loader/lib/index.js から)。TypeError: nullのプロパティ 'bindings' を読み取ることができません。
-
[解決済み] Vue.jsのready()メソッドがvueコンポーネントで呼び出されない
-
Critical dependencyの解決方法:依存関係のリクエストは式?
-
copy-webpack-pluginの有用性・活用について
-
webpack - 定番で便利なプラグイン copy-webpack-plugin webpack用コピーリソースプラグイン
-
[解決済み] Webpack - CopyWebpackPluginを使用してソースから公開ファイルへファイルをコピーする
-
webpack:error 改行記号が 'LF' であることを期待したが、'CRLF' 改行記号が見つかった。
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み】Webpackのスタイルローダーとcssローダーの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
webpack getaddrinfo ENOTFOUND localhost エラー
-
[解決済み】「import」「export」がトップレベルにしか表示されない場合がある。
-
[解決済み] Vue.jsのready()メソッドがvueコンポーネントで呼び出されない
-
[解決済み] eslint エラーを無視する: 'import' と 'export' はトップレベルにのみ表示される可能性があります。
-
webpack コマンドが見つかりません webpack のインストール、設定、ピットフィルのためのソリューションです。
-
Unexpected token punc ":", expected punc "," のようなUglifyJsエラーの解決法
-
[解決済み] Webpack - CopyWebpackPluginを使用してソースから公開ファイルへファイルをコピーする
-
ESlintの構文検出設定方法をオフにする
-
webpack:error 改行記号が 'LF' であることを期待したが、'CRLF' 改行記号が見つかった。
-
[解決済み】Webpack.configでindex.htmlをdistフォルダにコピーするだけの方法