我正在Babelify
和Browserify一起工作。另外,我正在按节点模块系统使用ES6样式模块功能。
我想将所有自己的模块放入node_modules/libs
。
例如:
test.js
在 node_modules/libs
export default () => {
console.log('Hello');
};
main.js
(将编译为bundle.js
)
import test from 'libs/test';
test();
之后,我bundle.js
使用以下命令将以上代码编译为:
browserify -t babelify main.js -o bundle.js
但不幸的是,我遇到了一些错误:
export default () => {
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'
目录结构:
[test]
`-- node_modules
│ `-- libs
│ `-- test.js
`-- main.js
但是,当自己的模块不在node_modules
这样时:
[test]
`-- libs
│ `-- test.js
`-- main.js
然后,它工作正常。如何babelify
在in中使用ES6样式模块node_modules
?
这就是Browserify转换的工作方式,转换仅在所引用的模块中直接具有作用。
如果要让node_modules中的模块进行转换,则需要package.json
向该模块添加一个,并为该模块添加babelify
作为转换。例如
"browserify": {
"transform": [
"babelify"
]
},
在package.json
加号中babelify
作为依赖项将告诉您对该模块内的任何文件browserify
运行babelify
转换。
有libs
在node_modules文件夹然而可能是一个坏主意。通常,该文件夹中将包含真正的独立模块。我通常会说,如果该文件夹无法在其他地方使用和重用,则它不应位于node_modules中。
对于最近发布的Babel v6,您还需要指定要对代码执行的转换。为此,我建议.babelrc
在您的根目录中创建一个文件以配置Babel。
{
"presets": ["es2015"]
}
和
npm install --save-dev babel-preset-es2015
问题内容: 我用es6编写了一个模块,然后发布到npm,我想在另一个项目中使用它,所以我这样输入: 但这没有用: 这是我在webpack中的js加载器配置: 当我尝试导入非的模块时,babel效果很好。但是从导入模块,babel似乎不起作用? 问题答案: 请参阅babel文档: 注意:默认情况下,对node_modules的所有要求都将被忽略。您可以通过传递忽略正则表达式来覆盖它。 通常期望的是,
模块“Transformer”解析为非模块实体,不能使用此构造导入。 如何导入类?其实我只是想利用那堂课。我不希望指令在我的代码中产生附带效应。我只想用它:'(
问题内容: 我尝试用Python学习TensorFlow。我的问题是导入TF模块。这是我的配置: Python 3.6.1 , Windows 7 (带有MSVCP140.dll) 我已经通过命令(在电源外壳中)安装了TensorFlow。有用。 但是当我运行python环境并尝试导入Tensor Flow时 我遇到错误,此错误引发了另一个与之相关的错误,但是一开始我想先解决此问题 追溯(最近一次
问题内容: 我已尝试找到有关最佳使用还是全面的指南。我刚开始使用Python,并且正在尝试着眼于最佳实践。 基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么? 问题答案: 和之间的区别主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。 优点: - 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另
问题内容: 我正在尝试从集群模块调用函数,如下所示: 我收到以下错误: 在IPython中,制表符补全似乎可以访问基本,克隆,外部,re,setup_module,sys和警告模块。sklearn目录中没有其他(包括群集)。 遵循以下pbu的建议并使用 我得到: 我在Windows上使用Python 3.4,scikit-learn 0.16.1。 问题答案: 问题是scipy / numpy安装
我有一个这样的目录: 我可以这样导入父模块: 那么,既然我已经有了父模块,那么获取子模块的最佳方法是什么?我已经尝试了,,等。 有什么建议吗? 谢谢