反应项目简单导入不起作用

时间:2016-12-12 22:10:48

标签: javascript node.js reactjs webpack babeljs

这是我的模块。

SyntaxError: Unexpected reserved word
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:414:25)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/Users/ncharass/MyProjects/CN/project/lib/app/views/pages/app/views/pages/article.js:16:1)

它是一个简单的模块,它可以在自己的存储库中运行。就像我有一个测试,一切都很好。

然而,一旦我将项目发布到私人npm并开始使用它。我收到了这个错误。

import Experiment from '@organization/project/src/components/Experiment.jsx';

这是导入线

Experiment

如果我在没有jsx的情况下将路径更改为Cannot find module,我会'use strict'; var path = require('path'); var webpack = require('webpack'); var env = process.env.NODE_ENV || 'development'; module.exports = { devtool: env === 'development' ? '#cheap-inline-source-map' : '', module: { loaders: [ { test: /\.json$/, loader: 'json-loader' }, { test: /\.(js|jsx)$/, loader: 'babel-loader', include: [ /config/, /src/ ], query: { babelrc: false, presets: [ 'es2015-webpack', 'react' ] } }, { test: /\.(js|jsx)$/, loader: 'transform?envify', cacheable: true } ] }, resolve: { extensions: ['', '.js', '.jsx'], modules: [ path.resolve('./src'), './node_modules' ] }, plugins: env !== 'development' ? [ new webpack.optimize.DedupePlugin(), new webpack.LoaderOptionsPlugin({ minimize: true, debug: false }), new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, unused: true, dead_code: true //eslint-disable-line camelcase }, output: { comments: false }, sourceMap: true }) ] : null }; ,所以我知道它找到了模块,但我不确定为什么它会像这一点。

我使用webpack,这是配置。

capitalize('')

1 个答案:

答案 0 :(得分:0)

听起来你没有用Babel解析你的模块。 webpack配置现在只解析configsrc中的模块。

听起来你正在尝试执行ES6模块,而且你的浏览器在ES6上停滞不动它还不支持(我最好的选择是import声明)