我有一个问题与汇总和汇总插件节点解决。
如果我有这种类型的进口:
import _ from 'lodash';
它被转换为:
import _ from '../node_modules/lodash/lib/index.js';
当我尝试在使用Webpack的项目中使用它时,这会破坏捆绑包,因为node_modules
文件夹显然不是我的Rollup-bundled包的文件夹的子文件夹(因为npm平坦了依赖项)。
我已经将所有的node_modules
定义为外部
。
这是我的相关配置:
{
entry: 'dist/components-index.js',
external: id => id.indexOf('node_modules') >= 0,
plugins: [
resolve({
extensions: ['.jsx', '.js', '.json'],
}),
commonjs({
namedExports: { '../xxx-styles/lib/index.js': ['common', 'dark', 'light' ] },
}),
],
}
如何使构建保持节点模块导入保持绝对路径?我想在写的时候保存它们,这样节点。js/webpack/wathever可以正确解析导入。
在解析之前,要将lodash
标记为外部:
{
entry: 'dist/components-index.js',
external: ['lodash', ...],
plugins: [
resolve({
extensions: ['.jsx', '.js', '.json'],
}),
commonjs({
namedExports: { '../xxx-styles/lib/index.js': ['common', 'dark', 'light' ] },
}),
],
}
将所有依赖项标记为外部依赖项的一个好方法是使用包中的“dependencies”
字段。json文件:
// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import pkg from './package.json';
export default {
entry: 'dist/components-index.js',
external: Object.keys(pkg.dependencies),
plugins: [
resolve({
extensions: ['.jsx', '.js', '.json'],
}),
commonjs({
namedExports: { '../xxx-styles/lib/index.js': ['common', 'dark', 'light' ] },
}),
],
}
由于您正在将node_modules
中的所有内容标记为外部,我建议您不要使用resolve
插件——如果您明确表示文件扩展名(为了增加与浏览器中本机模块加载程序的兼容性,Rollup可能会在不久的将来坚持使用该插件),那么您就不需要它了。
问题内容: 给定相对路径,如何导入Python模块? 例如,如果包含和,和包含,我怎么导入到? 这是一个视觉表示: 希望包含,但是重组文件夹层次结构不是一种选择。 问题答案: 假设你的两个目录都是真实的Python包(文件中确实有文件),那么这是一个相对于脚本位置包含模块的安全解决方案。 我假设你想这样做,因为你需要在脚本中包括一组模块。我在多个产品的生产环境中使用了此功能,并在许多特殊情况下工作
问题内容: 我正在python 2.7中开发自己的模块。它位于而不是或中。内部结构为: 包括课程。我遇到导入问题: 我没有将PythonPath设置为包括我的,因此,当server.http尝试包含client.PyCachedClient时,它将尝试从相对路径加载它并失败。我的问题是- 我应该如何以良好的pythonic方式设置所有路径/设置?我知道每次打开控制台并尝试运行服务器时都可以在she
过去,每当我想在Node.js应用程序中拥有相对路径时,我都会使用。如果我通过格式使用ES模块,在某个目录路径变为相对路径时,我如何具有相同的功能? 另一种方法是,我是否能够将别名分配给目录,使所有相对路径都与该别名相关,就像是相对于当前目录的路径的别名一样。
问题 将代码组织成包,想用import语句从另一个包名没有硬编码过的包中导入子模块。 解决方案 使用包的相对导入,使一个模块导入同一个包的另一个模块 举个例子,假设在你的文件系统上有mypackage包,组织如下: mypackage/ __init__.py A/ __init__.py spam.py grok.py B/
有一个简单的汇总配置,像这样。 我想用rollup来构建node_模块并将它们放入捆绑包,但我得到了一个错误,jsx出现了一个错误,似乎它无法处理jsx语法,但是如果我不在babel插件中包含node_模块,它就可以正常工作。那么,使用rollup构建节点_模块的正确方法是什么?
rank ▲ ✰ vote url 53 400 168 184 url 从相对路径引入一个模块 怎么用相对路径引入一个模块? 例如,如果dirFoo包含Foo.py和dirBar,而dirBar包含Bar.py,怎么样才能在Foo.py里引入Bar.py? 结构: dirFoo\ Foo.py dirBar\ Bar.py Foo希望包含Bar,但是重新组织文件