Ant*_*mev 2 javascript node.js reactjs webpack babeljs
我是webpack的新手并做出反应.希望您能够帮助我.
我遇到了一个问题,在互联网上找不到任何有效的解决方案.当我试图运行webpack-dev-serverI geting"模块未找到:错误:无法解析模块'组件/ app'"错误一直.
这是我的文件结构.
root/webpack.config.js
var webpack = require('webpack');
var path = require('path');
module.exports = {
devtool: 'inline-source-map',
entry: [
'webpack-dev-server/client?http://127.0.0.1:8080/',
'webpack/hot/only-dev-server',
'./src'
],
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js'
},
resolve: {
moduleDirectories: ['node_modules', 'src'],
extensions: ['', '.js']
},
module: {
loaders: [{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015', 'react']
}
}]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
]
};
Run Code Online (Sandbox Code Playgroud)
root/.babelrc
{
presets: ["react", "es2015"],
plugins: ["react-hot-loader/babel"]
}
Run Code Online (Sandbox Code Playgroud)
根/ SRC/index.js
import React from 'react';
import { render } from 'react-dom';
import App from 'components/app';
render(<App />, document.getElementById('app'));
Run Code Online (Sandbox Code Playgroud)
根/ SRC /组件/ app.js
import React from 'react';
export default class App extends React.component {
render() {
return (
<div>
<h1>Hello There</h1>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
Kes*_*ran 10
我同意Robert Moskal的回答,使用相对路径导入,同时如果你真的想要绝对路径工作,你可能需要在你的webpack.config.js
内部添加一行,你的解析部分添加下面这行
root: path.resolve('./src'),
Run Code Online (Sandbox Code Playgroud)
这将有助于解析root,您可以使用src文件夹中文件夹的绝对路径轻松导入.我会webpack.config.js
在下面给你看看我的样本
'use strict';
const path = require('path');
const loaders = require('./webpack/loaders');
const plugins = require('./webpack/plugins');
const applicationEntries = process.env.NODE_ENV === 'development'
? ['webpack-hot-middleware/client?reload=true']
: [];
const mainEntry = process.env.NODE_ENV === 'development'
? './src/sample/index.tsx'
: './src/lib/index.tsx';
module.exports = {
entry: [mainEntry].concat(applicationEntries),
output: {
path: path.join(__dirname, 'dist'),
filename: '[name].js',
publicPath: '/',
sourceMapFilename: '[name].js.map',
chunkFilename: '[id].chunk.js',
},
devtool: process.env.NODE_ENV === 'production' ?
'source-map' :
'inline-source-map',
resolve: {
root: path.resolve('./src'),
extensions: [
'',
'.webpack.js',
'.web.js',
'.tsx',
'.ts',
'.js',
'.json',
],
},
plugins: plugins,
devServer: {
historyApiFallback: { index: '/' },
},
module: {
preLoaders: [
loaders.tslint,
],
loaders: [
loaders.tsx,
loaders.html,
loaders.css,
loaders.scss,
loaders.eot,
loaders.svg,
loaders.ttf,
loaders.woff,
loaders.json,
{
test: /\.png$/,
loader: 'url-loader',
query: { mimetype: 'image/png' },
},
],
},
externals: {
'react/lib/ReactContext': 'window',
'react/lib/ExecutionEnvironment': true,
'react/addons': true,
},
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6555 次 |
最近记录: |