Javascript 响应网页包生产错误
我正在尝试为React(15.3.2)应用程序设置一个webpack(1.13.3)配置,我希望在我的生产版本中使用React的生产版本。我在窗户上 我正在使用这个(当你搜索时,它在网上随处可见): 然而,当我添加这个并运行Javascript 响应网页包生产错误,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,我正在尝试为React(15.3.2)应用程序设置一个webpack(1.13.3)配置,我希望在我的生产版本中使用React的生产版本。我在窗户上 我正在使用这个(当你搜索时,它在网上随处可见): 然而,当我添加这个并运行webpack(CLI)时,我就被许多错误狠狠地揍了一顿 我收到一大堆这样的警告: ./~/fbjs/lib/partitionObject.js.flow中的警告 模块分析失败:C:\node\sandbox\react webpack\node\u modules\fbj
webpack
(CLI)时,我就被许多错误狠狠地揍了一顿
我收到一大堆这样的警告:
./~/fbjs/lib/partitionObject.js.flow中的警告
模块分析失败:C:\node\sandbox\react webpack\node\u modules\fbjs\lib[此处的某些文件名]。流意外令牌(18:24)
您可能需要适当的加载程序来处理此文件类型
…还有一堆错误:
./~/react/lib/NativeMethodsMixin.js中出错
未找到模块:错误:无法解析C:\node\sandbox\react webpack\node\u modules\react\lib中的模块'react native/lib/TextInputState'
@./~/react/lib/NativeMethodsMixin.js 17:21-63
我没有用React Native,我不知道怎么用
我还在webpack.config.production.js
文件中使用webpack.optimize.UglifyJsPlugin
当我删除webpack.ProvidePlugin
位时,构建工作正常,但包含React的开发版本,我在控制台中收到警告:
警告:看起来您正在使用React开发版本的缩小副本。将React应用程序部署到生产环境时,请确保使用跳过开发警告且速度更快的生产环境
这些网页错误都是关于什么的。。?我如何获得React的生产构建,它也被缩小了
更新
已请求完整的网页包配置。我已经为此设置了一个测试应用程序,配置最低,警告和错误仍然显示:
webpack.config.js
module.exports = process.env.NODE_ENV === 'production' ? require('./webpack.config.production.js') : require('./webpack.config.development.js')
webpack.config.base.js
module.exports = {
entry: {
'bundle': './client/index.js'
},
output: {
path: './public',
filename: 'js/[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: { presets: ['es2015', 'react'] }
}
]
}
}
webpack.config.development.js
var config = require('./webpack.config.base')
module.exports = config
webpack.config.production.js
var webpack = require('webpack')
var config = require('./webpack.config.base')
config.plugins = [
new webpack.ProvidePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
}),
new webpack.optimize.UglifyJsPlugin({
include: /\.js$/,
compress: { warnings: false }
})
]
module.exports = config
我正在使用的测试应用程序仅安装了以下内容:
"dependencies": {
"express": "^4.14.0",
"react": "^15.3.2",
"react-dom": "^15.3.2"
},
"devDependencies": {
"babel": "^6.5.2",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.7",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"webpack": "^1.13.3"
}
/client/index.js
import React from 'react'
import ReactDOM from 'react-dom'
import Hello from '../components/Hello'
ReactDOM.render(<Hello />, document.getElementById('page'))
从“React”导入React
从“react dom”导入react dom
从“../components/Hello”导入Hello
ReactDOM.render(,document.getElementById('page'))
/components/Hello.js
import React from 'react'
const Hello = props => <p>Hello world...</p>
export default Hello
从“React”导入React
康斯特你好=道具=>你好世界
导出默认Hello
在一个单独的问题中再次询问,但使用完整的错误列表,并从React-Native视图中询问,因为错误包含React-Native的引用,即使我没有尝试使用它:
这里回答:阿鲁纳·赫拉思
我应该使用
DefinePlugin
而不是ProvidePlugin
你似乎做得一切都对。您确定不使用依赖于react native的外部库吗?这似乎是这里的问题。你能发布完整的网页配置吗?我刚刚用网页配置文件更新了我的问题。如果没有webpack.ProvidePlugin
,它可以正常工作,没有警告或错误。使用webpack.ProvidePlugin
再次显示所有错误。刚刚添加了我的依赖项
列表…这里似乎没有任何错误。。。您只是使用简单的从'React'导入React
,对吗?没有奇怪的导入?没有什么奇怪的-只是添加了网页指向的index.js
的内容。我先做服务器渲染,但这不应该影响webpack的工作。
import React from 'react'
const Hello = props => <p>Hello world...</p>
export default Hello