- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的模块。
src/components/Experiment.jsx
import React from 'react';
class Experiment extends React.Component {
render() {
if (Array.isArray(this.props.children)) {
const activeVariant = this.props.children.filter((c) => {
return c.props.id === this.props.activeVariant;
});
return (
<div>
{activeVariant}
</div>
);
}
return (
<div>
{this.props.children}
</div>
);
}
};
export default Experiment;
这是一个简单的模块,可以在自己的存储库上运行。就像我进行了测试一样,一切正常。
但是,一旦我将项目发布到私有(private) npm 并开始使用它。我收到此错误。
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)
这是导入行
import Experiment from '@organization/project/src/components/Experiment.jsx';
如果我将路径更改为没有 jsx
的 Experiment
,我会得到 Cannot find module
所以我知道它找到了该模块,但我'我不确定为什么会出现这样的错误。
我使用 webpack,这是配置。
'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
};
最佳答案
听起来你没有用 Babel 解析你的模块。 webpack 配置现在仅解析 config
和 src
中的模块。
听起来您正在尝试执行 ES6 模块,而您的浏览器在尚不支持的 ES6 上停滞不前(我最好的选择是 import
语句)
关于javascript - React项目简单导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110561/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!