Это минимальное приложение reactjs которое, когда в комплекте с использованием Webpack, а затем запустить, выдает следующую ошибку в консоли браузера:WebPack reactjs приложение не загружается: Uncaught ReferenceError: snapapp не определен
Uncaught ReferenceError: snapapp is not defined
Может кто-нибудь подсказывает почему?
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>
</head>
<body class='section'>
<div id="app"></div>
<script type="text/javascript" src="./build/snapapp.js"></script>
<script type="text/javascript">
(function() {
var mountNode = document.getElementById('app');
snapapp.start(mountNode);
})();
</script>
</body>
</html>
index.js
import { render } from 'react-dom';
import rootLayout from './src/components/ApplicationLayout.jsx';
import hello from './src/components/hello.jsx';
export function start(mountNode) {
render(<rootLayout />, mountNode);
}
webpack.config.js
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: './index.js',
output: {
path: 'build',
filename: 'snapapp.js',
libraryTarget: "umd"
},
module: {
loaders: [
{
test: /.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react']
}
}
]
}
};
SRC/компоненты/hello.jsx
import React from 'react';
class Hello extends React.Component {
render() {
return <h1>Hello</h1>
}
}
Я отдаю свой статус noob с помощью JavaScript здесь, но откуда бы я его импортировал? Как выглядит такой импорт? –
Самый простой способ заставить его работать, а не экспортировать функцию из index.js, просто инициализировать ее там, а не в вашем HTML. С точки зрения импорта, в другом JS-файле, то есть 'Main.js', вы импортируете либо с помощью import-snapapp из. ./index ';' или 'var snapapp = require (' ./ index ');' – Lee
Hmmm ... snapapp.js IS index.js - это результат набора пакетов webpack index.js, поэтому я не смог бы загрузить его оттуда. –