Я пытаюсь начать новый проект с webpack и babel.
Я могу определить мой код es2015 и es6.
Но у меня проблемы с импортом.
Когда я пытаюсь импортировать функцию, переменную или объект, у меня появляется эта ошибка:
Error
с Chrome
Uncaught SyntaxError: Неожиданный идентификатор
с Mozilla
SyntaxError: объявления импорта могут появляться только на верхнем уровне модуля
Можете ли вы сказать мне, что не так?
Это моя структура
- index.html
- package.json
- node_modules
- webpack.config.js
- активы
Файл Webpack
const path = require('path');
module.exports = {
entry: './assets/js/app.js',
watch: true,
mode: 'development',
output: {
path: path.resolve(__dirname, './assets/dist'),
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
}
},
},
]
}
};
Package.json
{
"name": "svg-wipe",
"version": "1.0.0",
"description": "",
"main": "webpack.config.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/register": "^7.0.0",
"babel-loader": "^8.0.2",
"babel-preset-es2015": "^6.24.1",
"babel-register": "^6.26.0",
"webpack": "^4.18.0",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.8"
},
"dependencies": {}
}
test.js
function myImport(m) {
return console.log(m);
}
export default myImport;
app.js
import myImport from './test'
myImport('hello i m imported function !');
в моем index.html
<script src="./assets/js/app.js" ></script>
Спасибо !!